Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] define()
Forum PHP.pl > Forum > Przedszkole
1oBuZ
Witam!

Dlaczego poniższy kod zwraca: " int(100) " zamiast wiadomości

  1. define('100', 'moja wiadomosc testowa');
  2.  
  3. function test ( $value ) {
  4.  
  5. if ( $value == 1 )
  6.  
  7. return 100;
  8.  
  9. else
  10.  
  11. return false;
  12.  
  13. }
  14.  
  15. $a = 1;
  16.  
  17. var_dump( test ( $a ) );


Bardzo Proszę o podpowiedź w rozwiązaniu tego wydaje mi się banalnego problemu.
Wicepsik
Zobacz w manualu pierwszy parametr define
1oBuZ
Nierozumiem- co jest nie tak z nazwą stałej ?
Proszę o doprecyzowanie oraz ew. poprawkę powyższego przeykładu.
#luq
Nie rozumiem @Wicepsik dlaczego odwołujesz kolego do manuala, tutaj chodzi o to, że kolega chyba chce nadpisać po prostu
  1. 100

Bardzo sprytnie ale widać tak się nie da.

  1. define('FOO', 'stala foo');
  2. define('100', 'stala 100');
  3. define('FOO100', 'stala foo 100');
  4.  
  5. echo FOO; // stala foo
  6. echo 100; // 100
  7. echo FOO100; // stala foo 100


Natomiast get_defined_constants() zwraca tablice w której jest:
  1. (...)
  2. [FOO] => stala foo
  3. [100] => stala 100
  4. [FOO100] => stala foo 100


Teoretycznie ta stała (tj. "100") powstała ale nie można jej wykorzystać, IMHO język nie powinien pozwalać na pierwszy znak numeryczny w stałej.
1oBuZ
Dokładnie przed chwilką doszedłem do identycznych wniosków.
Dziękuję #luq za wyczerpującą odpowiedź
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.