Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Dynamiczne argumenty funkcji, Temat o dynamicznych argumentach funkcji
nienarodzony
post
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 1
Dołączył: 31.07.2010

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


Witam, przy tworzeniu własnego frameworka spotkałem się z jednym problemem, z którym za nic w świecie nie mogę sobie poradzić.
Przejdę już do rzeczy:
Chcę wywołać funkcje z dynamicznymi parametrami. Parametry te pochodzą z tablicy:

przykładowa:
  1. $tablica = array('argument1','argument2');


i teraz funkcje wywołałbym tak:
  1. funkcja($tablica[0],$tablica[1]);

ale problem leży tutaj w ilości argumentów, otóż nie chce ich tak przypisywać na stałe. Chciałbym je dynamicznie wyciągać z tej tablicy i tworzyć dynamiczne
"zapytanie" do funkcji.
Tablica przekształcała by się na ciąg:
  1. $query = '"wartosc argumentu1","wartosc argumentu 2"';

i teraz najlepszym sposobem na wywołanie funkcji byłoby:
  1. funkcja({$query});

,ale to rozwiązanie niestety nie działa (IMG:style_emoticons/default/sad.gif)

Proszę o pomoc i z góry dziękuję(IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
potreb
post
Post #2





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


  1.  
  2. function ($tab = array()) {
  3. print_r($tab);
  4. }
  5.  
  6. function(array('tab1' => 1, 'tab' => 2, 'tab3' => 4));


Ten post edytował potreb 2.03.2011, 20:44:13
Go to the top of the page
+Quote Post
wookieb
post
Post #3





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




func_get_args
call_user_func_array
Go to the top of the page
+Quote Post
thek
post
Post #4





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Dynamiczną ilość argumentów rozwiązuje się głównie na 2 sposoby:
1) parametrem jest tablica
2) func_get_args i koleżanki (IMG:style_emoticons/default/smile.gif)
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: 22.08.2025 - 19:49