Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]echo, Dziwne zachowanie
vonski
post
Post #1





Grupa: Zarejestrowani
Postów: 292
Pomógł: 89
Dołączył: 27.12.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Witam.

Pytanie z kategorii dziwnych (IMG:style_emoticons/default/smile.gif)
Jako że powoli przymierzam się do egzaminu na ZCE, chcę zbadać każdą "pierdółkę", a do takich zapewne należy mój problem (IMG:style_emoticons/default/smile.gif)
Otóż, czy ktoś mi może wytłumaczyć, dlaczego pisząc coś takiego:

  1. echo Hello;


nie dostaję komunikatu o błędzie tylko skrypt ładnie wyświetla mi tekst 'Hello'? Chodzi mi o to, że nie używam ani pojedynczych ani podwójnych cudzysłowów.
Oczywiście jak zrobię tak:

  1. define('Hello', 'Czesc');
  2. echo Hello;


to otrzymam w wyniku: Czesc. I to zachowanie rozumiem. Czy to jest tak, że jak PHP trafi na coś co wygląda na stałą, a nie było to wcześniej zdefiniowane, 'konwertuje' to na string?

Druga sprawa. Z tego co mi wiadomo, echo() nie jest funkcją, a konstrukcją językową, dlatego nie może być użyte w kontekście funkcji. W dodatku echo (w przeciwieństwie do print() ) rzekomo nie zwraca żadnej wartości.
A jednak jak napiszę coś takiego:

  1. echo co ? nic : duzo


to nie dość, że nadal nie używam cudzysłowów to jeszcze w wyniku dostaję tekst 'nic'. Czyli tak jakby to: echo co - zwraca mi true. O co tu chodzi? (IMG:style_emoticons/default/smile.gif)

Przepraszam za być może głupie pytanie, ale ciekawi mnie to, a czytałem manuala wraz z komentarzami i nie znalazłem na to odpowiedzi.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 04:55