Która definicja i wywołanie funkcji PHP poprawnie wypisze ciąg $n znaków @?
Źle.
$i++ jako parametr i @ bez cudzysłowów są błędne.Źle.
$n nie jest przekazane do funkcji.Źle. Błędny parametr
$i++ i brak znaku do wypisania.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("@", ...).