Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]echo, Dziwne zachowanie
vonski
post 8.12.2010, 18:53:28
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 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 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? 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.


--------------------
Zend Certified Engineer | Microsoft Certified Professional: Programming in HTML5 with JavaScript & CSS3 | Blog
Go to the top of the page
+Quote Post
nospor
post 8.12.2010, 18:56:36
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Jako że powoli przymierzam się do egzaminu na ZCE, chcę zbadać każdą "pierdółkę", a do takich zapewne należy mój problem
Otóż, czy ktoś mi może wytłumaczyć, dlaczego pisząc coś takiego:

[PHP] pobierz, plaintext
echo Hello;


nie dostaję komunikatu o błędzie

Przymierzasz sie do ZCE a nie potrafisz wlaczyc wyswietlania wszystkich bledow? tongue.gif

Odpowiedz: wlacz wyswietlanie wszystkich bledow a blad zobaczysz a przy okazji odpowiedź na swoje pytanie


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
user767
post 8.12.2010, 19:09:01
Post #3





Grupa: Zarejestrowani
Postów: 178
Pomógł: 5
Dołączył: 13.09.2010

Ostrzeżenie: (40%)
XX---


  1. <?php
  2.  
  3. ini_set( 'display_errors', 'On' );
  4.  
  5.  
  6. ?>
Go to the top of the page
+Quote Post
Mephistofeles
post 8.12.2010, 20:22:32
Post #4





Grupa: Zarejestrowani
Postów: 1 182
Pomógł: 115
Dołączył: 4.03.2009
Skąd: Myszków

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


  1. echo co ? nic : duzo

Nie echo zwraca wartość, a co "istnieje".
Go to the top of the page
+Quote Post
vonski
post 8.12.2010, 20:44:02
Post #5





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

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


Cytat
Przymierzasz sie do ZCE a nie potrafisz wlaczyc wyswietlania wszystkich bledow?


Haha faktycznie, nie wpadłem na to wstydnis.gif smile.gif
Dzięki za odpowiedź.

Mephistofeles - dzięki, teraz czaje dlaczego tak jest.


--------------------
Zend Certified Engineer | Microsoft Certified Professional: Programming in HTML5 with JavaScript & CSS3 | Blog
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 00:22