Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Nazwa funkcji zadeklarowana w zmiennej, Jak wyciągnąć funkcję ze zmiennej
Majzer
post
Post #1





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 7.10.2003
Skąd: Myślenice

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


Mam taki problem:

Otóż mam nazwę funkcji wyswietlCos(); No i ta nazwa wyswietlCos(); zawarta jest w zmiennej np. $a w postaci:
  1. <?php
  2. $a = '123wyswietlCos();123';
  3. ?>

Zastosowałem funkcję explode(); i mam tak:
  1. <?php
  2. $odczyt = explode('123', $tresc);
  3. ?>

No i wobec tego wyswietlCos(); jest w $odczyt['1']. I tu pojawiają się schody, ponieważ chce, aby została wywołana funkcja, a nie jej nazwa.

Jeśli dam:
$odczyt['1'] -> nic się nie pojawi

jeśli dam:
$a = $odczyt['1'] -> też nic się nie pojawi,

a jeśli dam
echo $odczyt['1'] -> pojawi się tylko nazwa funkcji

jeśli natomiast dałbym normalnie:
$a = wyswietlCos(); wtedy dopiero pojawia mi się to co chcę osiągnąc czyli rozpoczyna się funkcja.

Wie może ktoś jak mogę ze zmiennej wydobyć to, aby wywołać daną funkcję?
Go to the top of the page
+Quote Post
mike
post
Post #2





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

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


Czyżby chodziło Ci o eval()?
A powiem mi jeszcze co chcesz osiągnąć kombinując tak jak koń pod górę ?
Go to the top of the page
+Quote Post
cicik
post
Post #3





Grupa: Zarejestrowani
Postów: 219
Pomógł: 5
Dołączył: 18.07.2006
Skąd: Piekary Śląskie

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


Powinno zdziałać coś takiego:

Jeżeli w zmiennej $odczyt[1] będziesz miał ciąg znaków wyswietlCos (bez nawiasow) to musisz zrobić:

$a = $odczyt[1];

i potem:

$a();

ewentualnie:

{$a}();

albo od razu:

{$odczyt[1]}();

Ale i tak nie wiem po co tak kombinowac.
Można też postąpić jak kolega moderator wyżej zaproponował.
Go to the top of the page
+Quote Post
thornag
post
Post #4





Grupa: Zarejestrowani
Postów: 504
Pomógł: 2
Dołączył: 31.03.2006
Skąd: Londyn

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


Callback/eval jak pisal Mike ?
Go to the top of the page
+Quote Post
NuLL
post
Post #5





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

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


Cytat
Jeśli dam: $odczyt['1'] -> nic się nie pojawijeśli dam:$a = $odczyt['1'] -> też nic się nie pojawi,

Evale callbacki - (IMG:http://forum.php.pl/style_emoticons/default/laugh.gif)

  1. <?php
  2. $odczyt['1']();//nie czy bedzie dzialac
  3.  
  4. $a();//to juz napewno.
  5. ?>
Go to the top of the page
+Quote Post
Denver
post
Post #6





Grupa: Zarejestrowani
Postów: 132
Pomógł: 0
Dołączył: 24.09.2003
Skąd: Giżycko / Wrocław

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


call_user_func
Go to the top of the page
+Quote Post
cicik
post
Post #7





Grupa: Zarejestrowani
Postów: 219
Pomógł: 5
Dołączył: 18.07.2006
Skąd: Piekary Śląskie

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


Cytat(NuLL @ 14.09.2006, 01:06:48 ) *
  1. <?php
  2. $odczyt['1']();//nie czy bedzie dzialac
  3. ?>


To na pewno nie bedzie dzialac.

Cytat(NuLL @ 14.09.2006, 01:06:48 ) *
  1. <?php
  2. $a();//to juz napewno.
  3. ?>


To NA PEWNO dziala. Sprawdzone praktycznie.
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: 22.08.2025 - 18:28