Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]wartość stałej ze zmiennej
php programmer
post 30.06.2008, 12:24:54
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
l0ud
post 30.06.2008, 12:26:30
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


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
kefirek
post 30.06.2008, 12:32:56
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 30.06.2008, 12:59:33
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 30.06.2008, 13:09:34
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 30.06.2008, 13:11:02
Post #6





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




@ludzie i mike winksmiley.jpg czytajcie poprzednie posty!!! w pierwszym poscie padla juz odpowiedź 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 smile.gif


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

"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
mike
post 30.06.2008, 13:12:24
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 30.06.2008, 13:17:04
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
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 - 12:26