Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]wartość stałej ze zmiennej
php programmer
post
Post #1





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 5
Dołączył: 8.11.2004
Skąd: trójmiasto

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


Witam, mam zdefiniowane wiele stałych

  1. <?php
  2. DEFINE ('RAZ','1');
  3. DEFINE ('DWA','2');
  4. DEFINE ('TRZY,'3);
  5. ?>


i zmienną

  1. <?php
  2. $nazwa_stalej = 'RAZ';
  3. ?>


moje pytanie: jak pobrać wartość stałej,
Jeśli nazwa tej stałej zawarta jest w zmiennej.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
l0ud
post
Post #2





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

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


http://pl.php.net/manual/pl/function.constant.php
Go to the top of the page
+Quote Post
kefirek
post
Post #3





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

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


Zobacz tak
  1. <?php
  2. define ("RAZ", 1);
  3. define ("DWA", 2);
  4. define ("TRZY", 3);
  5.  
  6. echo RAZ;
  7. echo "<br>";
  8. $stala = RAZ;
  9. echo "$stala";
  10. ?>


Ten post edytował kefirek 30.06.2008, 12:36:16
Go to the top of the page
+Quote Post
Snowak
post
Post #4





Grupa: Zarejestrowani
Postów: 78
Pomógł: 2
Dołączył: 13.12.2007

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


Coś czuje, że robisz to na około i trzymanie nazwy stałej w zmiennej jest przekombinowane, ale zawsze możesz użyć coś takiego...

  1. <?php
  2. define('TEST', 'asd');
  3. $stala = 'TEST';
  4. $s = eval("return " . $stala . ";");
  5. echo($s);
  6. ?>


Zdecydowanie nie polecam używać takiej metody.
Go to the top of the page
+Quote Post
mike
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Ludzie czytajcie dokumentację!
Przecież jest gotowa funkcja get_defined_constants().
Funkcja zwraca tablicę w której klucze są nazwami stałych a wartościami wartości tych stałych.

  1. <?php 
  2.  
  3. DEFINE ('RAZ','1');
  4.  
  5. $nazwa_stalej = 'RAZ';
  6.  
  7. $constants = get_defined_constants(true);
  8. echo $constants['user'][$nazwa_stalej];
  9.  
  10. ?>
Go to the top of the page
+Quote Post
nospor
post
Post #6





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




@ludzie i mike (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) czytajcie poprzednie posty!!! w pierwszym poscie padla juz odpowiedź (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

edit down: a ja nawiazywalem do calego watku, ktory rozrosl sie pomimo odpowiedzi juz w pierwszym poscie i pomimo ze kazdy ma dostep do manuala (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
mike
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Oczywiście pomijając rozwiazanie oczywiste: constant()

Nawiązywałem do proponowanych zabaw z evalem()
Go to the top of the page
+Quote Post
php programmer
post
Post #8





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 5
Dołączył: 8.11.2004
Skąd: trójmiasto

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


Cytat(Snowak @ 30.06.2008, 11:59:33 ) *
Coś czuje, że robisz to na około i trzymanie nazwy stałej w zmiennej jest przekombinowane


Zgadzam się, ale dopisuję funkcjonalność do czegoś co już istnieje.

Ten post edytował php programmer 30.06.2008, 13:18:04
Go to the top of the page
+Quote Post

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: 2.10.2025 - 17:37