Functie Inkorten
Onderstaande functie werkt zo wel;
Quote:
function shorten($data, $length = 400, $endString = "... <a href=nieuws_bericht.php?id=........><i><u>Lees meer</a>") {
En zo niet meer;
Quote:
function shorten($data, $length = 400, $endString = "... <a href=nieuws_bericht.php?id='".$id."'><i><u>Lees meer</a>") {
Hoe kan ik in dit geval die combinatie maken?
Dat kan je net zo goed, als je dat wilt doen, buiten die functie.
Voor de rest is het niet de bedoeling dat je zulke lange strings meegeeft als standaard in een variable.
Los het dan zo op:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
function shorten($data, $length = 400, $endString = null)
{
if ($endString == null) {
$endString = "... <a href=nieuws_bericht.php?id=".$id."><i><u>Lees meer</a>";
}
}
?>
function shorten($data, $length = 400, $endString = null)
{
if ($endString == null) {
$endString = "... <a href=nieuws_bericht.php?id=".$id."><i><u>Lees meer</a>";
}
}
?>
En Get variablen hebben geen enkele quotes nodig om hun waarde heen.
Waarom niet gewoon alleen het $id meegeven? nu gebruik je in de functie "shorten" de variabele $id, maar die wordt niet meegegeven, en ook nergens gedeclareerd (voor zover te zien.) Als deze buiten de functie wordt gedeclareerd, dan is die globaal. Dat is ook niet wenselijk.
Je kan het beter zo opzetten:
Dus ik zou zeggen, maak je functie gewoon zo:
Code (php)
En vergeet niet de <i>en<u> af te sluiten!
Gewijzigd op 06/10/2010 09:48:23 door Nicoow Unknown
Die default parameters worden statisch in de PHP geinjecteerd. Dit wordt door PHP gedaan voor het runnen.
Je kan daarom dus nooit een dynamische standaard parameter hebben. PHP heeft op dat moment namelijk nog geen besef van variabeles.
De constructie is natuurlijk te maken, maar dan moet je deze in een ifje afvangen zoals hierboven al beschreven is.
Echter is het zo dat, wat hierboven beschreven staat, het in dit geval echt beter is om het anders op te lossen ;-)