Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] define()
1oBuZ
post
Post #1





Grupa: Zarejestrowani
Postów: 101
Pomógł: 1
Dołączył: 11.11.2008
Skąd: Kalisz

Ostrzeżenie: (10%)
X----


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.


--------------------
W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi.

Dla komputera nie ma rzeczy niemożliwych z wyjątkiem tych, których od niego wymagamy.

Liczba osób w zespole programistycznym ma tendencje wzrastające, niezależnie od ilości pracy.
Go to the top of the page
+Quote Post
Wicepsik
post
Post #2





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


Zobacz w manualu pierwszy parametr define


--------------------
Go to the top of the page
+Quote Post
1oBuZ
post
Post #3





Grupa: Zarejestrowani
Postów: 101
Pomógł: 1
Dołączył: 11.11.2008
Skąd: Kalisz

Ostrzeżenie: (10%)
X----


Nierozumiem- co jest nie tak z nazwą stałej ?
Proszę o doprecyzowanie oraz ew. poprawkę powyższego przeykładu.

Ten post edytował 1oBuZ 4.01.2011, 20:29:36


--------------------
W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi.

Dla komputera nie ma rzeczy niemożliwych z wyjątkiem tych, których od niego wymagamy.

Liczba osób w zespole programistycznym ma tendencje wzrastające, niezależnie od ilości pracy.
Go to the top of the page
+Quote Post
#luq
post
Post #4





Grupa: Zarejestrowani
Postów: 589
Pomógł: 91
Dołączył: 22.05.2008
Skąd: Gliwice

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


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.


--------------------
Moja gra - scraby.io
Go to the top of the page
+Quote Post
1oBuZ
post
Post #5





Grupa: Zarejestrowani
Postów: 101
Pomógł: 1
Dołączył: 11.11.2008
Skąd: Kalisz

Ostrzeżenie: (10%)
X----


Dokładnie przed chwilką doszedłem do identycznych wniosków.
Dziękuję #luq za wyczerpującą odpowiedź

Ten post edytował 1oBuZ 4.01.2011, 20:56:31


--------------------
W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi.

Dla komputera nie ma rzeczy niemożliwych z wyjątkiem tych, których od niego wymagamy.

Liczba osób w zespole programistycznym ma tendencje wzrastające, niezależnie od ilości pracy.
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 Aktualny czas: 19.08.2025 - 16:14