U prethodnom PHP prilogu definisali smo ลกta su to funkcije i kako se koriste, i ลกta su argumenti jedne funkcije. Inaฤe, razne informacije se funkciji mogu proslediti preko liste argumenata, koja predstavlja zarezom razdvojenu listu varijabli, i/ili konstanti. Podrazumeva se da PHP omoguฤava prosleฤivanje argumenata funkciji u vidu vrednosti; argumenti se mogu joลก proslediti kao reference (varijable), i kao „podrazumevane vrednosti“. Takoฤe, omoguฤena je i upotreba listi argumenata varijabilne duลพine, ali samo u veziji PHP-a 4. Kod verzije 3 PHP-a, listu argumenata moลพemo simulirati u vidu niza koji se prosleฤuje funkciji. Na primer:
<?phps
function preuzimanje_niza($input) {
echo "$input[0] + $input[1] = ", $input[0]+$input[1];
}
?>
Uglavnom se funkcijama prosleฤuju konkretne vrednosti, pa tako kada promenimo vrednost argumenta unutar funkcije, neฤe se promeniti i njegova vrednost van funkcije. Ukoliko ลพelite da se vrednosti prosleฤenih argumenata mogu menjati unutar funkcije, prosledite te iste argumente u vidu referenci. A ako ลพelite se argumenti uvek prosleฤuju kao reference – moraฤete da ispred naziva argumenta dodate znak ampersand (&). Evo i primera prosleฤivanja argumenta u vidu reference:
<?php
function dodaj_tekst(&$string) {
$string .= ‘i dodatni deo stringa.’;
}
$str = ‘Ovo je string, ‘ ;
dodaj_tekst($str);
echo $str;
?>
Rezultat ovog malog skripta ฤe biti ispis – „Ovo je string, i dodatni deo stringa.„. Sliฤno prethodnoj metodi, varijablu kao referencu moลพete proslediti i kada to niste u prvi mah definisali, tada ฤete u samom pozivu funkcije dodati znak ampersand (&):
<?php
function bilo_sta ($rec) {
$rec .= ‘ à ovo je dodatni deo.’;
}$str = ‘Ovo je string, ‘;
bilo_sta ($str);
echo $str;
// izlaz ce biti ‘Ovo je string, ‘
bilo_sta (&$str);
echo $str;
// izlaz ‘Ovo jestring, a ovo je dodatni deo.’
?>
Sliฤno prethodnom definisanju argumenata je i definisanje „podrazumevanih argumenata“ (kao kod jezika C++):
<?php
function kuvanje_kafe ($type = "Grand") {
return "Najbolja je kafa $type.n";
}echo kuvanje_kafe ();
echo kuvanje_kafe ("DonCaffe");
?>
Izlaz ovog malog skrtipta ฤe biti:
Najbolja je kafa Grand.
Najbolja je kafa Doncaffe.
Kao ลกto vidite, ako funkciji ne prosledimo nikakvu vrednost argumenta, koristiฤe se podrazumevana vrednost (Doncaffe).
Pratite Krstaricu na www.krstarica.com