Funkcja print() – ciekawe zagadki

Jakiś czas temu w sieci trafiłem na ciekawą zagadkę związaną ze znaną funkcją PHP – funkcją print()

Zagadka ta bardzo dobrze sprawdza naszą wiedzę dotyczącą rzutowania zmiennych, typowania i zasad działania funkcji print oraz echo. Oto ona:

echo print('1');

Jaki wynik zostanie wyświetlony na ekranie?

Pozornie wydaje się że odpowiedź jest oczywista: 1. Na pewno? Sprawdźcie sami:)

Jak się okazuje wynik to: 11. Dlaczego? Rozdzielmy ten skrypt na 2 części. Najpierw zostaje wykonywana funkcja:

print('1');

Oczywiście wydrukuje ona po prostu 1.

Kolejna funkcja:

echo(1);

także wydrukuje na ekranie 1. Mamy więc w sumie: 11

Zobaczmy inny ciekawy przykład:

echo '1'.(print'2')+3;

Jaki będzie wynik? Sprawdź sam:)

Wynik będzie 214. Dlaczego? Najpierw funkcja print wydrukuje 2, następnie echo wydrukuje 1, a na końcu wspomniane w pierwszym przykładzie echo print wydrukuje 1 + 3 a więc 4. Jak widać najpierw wypisywana jest wartość print, następnie to co było tak naprawdę na początku, a na końcu wartość echo print – czyli (int)1 jest dodawane do liczby 3.

Zachęcam do dodawania własnych przykładów w komentarzach!

Ta strona używa ciasteczek (cookies), dzięki którym nasz serwis może działać lepiej. Więcej informacji

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close