Która definicja i wywołanie funkcji PHP poprawnie wypisze ciąg $n znaków @?
A.
function znaki($znak, $i++) { for($i=0; $i<$n; $i++) print($znak); } znaki(@, $n);
Źle.
$i++ jako parametr i @ bez cudzysłowów są błędne.B.
function znaki($znak, $i++) { for($i=0; $i<$n; $i++) print($znak); } znaki($n);
Źle. Błędny parametr
$i++ i brak znaku do wypisania.C.
function znaki($i) { for($i=0; $i<$n; $i++) print("@"); } znaki($i);
Źle.
$n nie jest przekazane do funkcji.D.
function znaki($znak, $n) { for($i=0; $i<$n; $i++) print($znak); } znaki("@", $n);
Dobrze. Poprawne parametry i wywołanie z
"@" oraz $n.Poprawna funkcja przyjmuje DWA parametry - znak do wypisania i liczbę powtórzeń - oraz pętlą wypisuje znak tyle razy:
function znaki($znak, $n) { for($i=0; $i<$n; $i++) print($znak); }, wywołana np. znaki("@", 5). Dlatego poprawny jest wariant z parametrami ($znak, $n).Pozostałe warianty mają błędy. Parametr
$i++ w nagłówku funkcji jest niedozwolony (parametrem nie może być wyrażenie). Wersje używające $n bez przekazania go jako argumentu odwołują się do nieistniejącej zmiennej, a wywołanie znaki(@, ...) bez cudzysłowów jest błędne (znak @ trzeba podać jako napis). Poprawny jest wariant function znaki($znak, $n) {...} znaki("@", ...).