Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] call_user_func_array() - wprowadzanie tablic
sweter
post 3.02.2010, 22:25:51
Post #1





Grupa: Zarejestrowani
Postów: 623
Pomógł: 11
Dołączył: 1.01.2009
Skąd: Wrocław

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


Witam,

mam taki kod:

  1.  
  2. function funkcja($par1=array('0'),$par2='1'){
  3. return($par1);
  4. }
  5.  
  6. $par1 = "array('15','28');";
  7.  
  8. $wartosci = array(eval($par1),'123');
  9.  
  10. echo(call_user_func_array('funkcja',$wartosci));
  11.  
  12.  


Jak widać powyżej mam funkcję funkcja(), która za swoje parametry przyjmuje tablice. Do tej funkcji chcę wprowadzić wartości z tablicy $wartosci. Niestety pierwszy klucz tabeli jest w formie stringu.

W jaki sposób mogę uzyskać tablicę $wartosci wyglądającą tak (zastosowane przeze mnie funkcja eval() nie działa poprawnie):

Cytat
Array
(
[0] => Array
(
[0] => 15
[1] => 28
)

[1] => 123
)




--------------------
Go to the top of the page
+Quote Post
jacek.e3
post 3.02.2010, 23:28:54
Post #2





Grupa: Zarejestrowani
Postów: 20
Pomógł: 6
Dołączył: 2.02.2010

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


Witam,

spróbuj tak:
  1. $par1 = 'array("15","28")';
  2.  
  3. eval("\$_par1 = $par1;");
  4.  
  5. eval('$wartosci = array($_par1,"123");');
  6.  
  7. var_dump($wartosci);


dostałem z tego taką tablicę jak chciałeś


pozdrawiam
Go to the top of the page
+Quote Post
ayeo
post 3.02.2010, 23:32:14
Post #3





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

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


Witam!

Rozwiązanie 1:
  1. function funkcja( $par1, $par2 )
  2. {
  3. return($par1);
  4. }
  5.  
  6. $params = array( 15, 28 );
  7. var_dump( call_user_func_array('funkcja', $params) );


A jeśli chcesz całą tablicę to przekazuj tablicę:
  1. function funkcja( $par1 )
  2. {
  3. return($par1);
  4. }
  5.  
  6. $param = array( 15, 28 );
  7. var_dump( call_user_func('funkcja', $param) );


Pozdrawiam!


--------------------
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:12