Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Przekazywanie listy paraetrów funkcj do innej funkcji
Forum PHP.pl > Forum > PHP
juzwa
jak wiadomo w PHP można zrobić takie rzeczy jak


  1. <?php
  2. $argAmount=func_num_args();
  3. $i=1;
  4. foreach(func_get_args() as $argument) 
  5. {
  6. $delimiter=($argAmount!=$i)?',':'';
  7. $param.='''.$argument.'''.$delimiter;
  8. $i++;
  9. }
  10. ?>


i przekazać do funkcji n parametrów

a potem można to władować do zapytania np insert taką listę

ale gdy ja potrzebuję, takiej funkcjonalności w paru funkcjach

normalnie robi się to tak

funkcja jakas($arg1,$arg2)
{
return inna($arg1,$arg2);
}

można to niby obejść poprzez tablice, ale jakoś mi nie o to chodzi - i tak pytam

funkcja jakas(/*tu może być n argumentów*/)
{
return inna(/*jak je przekazać tutaj tak aby ta funkcja dopiero obrabiała je w ciąg*/);
}
Nitryt14
Ja bym zastosowal tu array()
  1. <?php
  2. $var = array('var1', 'var2', 'var3', ... , 'varn');
  3. function jakas($var)
  4. {
  5. return inna($var);
  6. }
  7. ?>
L_Devil
A jeżeli bardzo chcesz każdy z argumentów z osobna, zapoznaj się z eval" title="Zobacz w manualu PHP" target="_manual

  1. <?
  2. $string = 'funkcja(';
  3. $parametry = array();
  4. $i = 0;
  5. foreach($paramtery as $value)
  6. {
  7.  
  8. $parametry[] = $value;
  9. if($string!='funkcja(')
  10.  $string .= ', ';
  11. $string .= '$parametry[' . $i . ']';
  12. $i++;
  13. }
  14. $string .= ');');
  15. eval($string);
  16. ?>
Ludvik
Zamiast eval lepiej użyć call_user_func_array" title="Zobacz w manualu PHP" target="_manual. Funkcja do tego stworzona i pozbawiona wady eval związanej z bezpieczeństwem...
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.