Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] call_user_func_array() - wprowadzanie tablic
Forum PHP.pl > Forum > Przedszkole
sweter
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
)


jacek.e3
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
ayeo
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!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.