PHP – Argumenti funkcija

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