Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Przekazywanie listy paraetrów funkcj do innej funkcji, lista parametrów nie jest znana
juzwa
post
Post #1





Grupa: Zarejestrowani
Postów: 144
Pomógł: 0
Dołączył: 10.07.2006

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


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*/);
}
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Nitryt14
post
Post #2





Grupa: Zarejestrowani
Postów: 76
Pomógł: 0
Dołączył: 17.02.2004
Skąd: Gdańsk

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


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. ?>


Ten post edytował Nitryt14 29.05.2007, 19:32:31


--------------------
Człowiek boi się tego czego nierozumie
---
Blog początkującego programisty
Go to the top of the page
+Quote Post
L_Devil
post
Post #3





Grupa: Zarejestrowani
Postów: 195
Pomógł: 0
Dołączył: 13.04.2004
Skąd: Łódź

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


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. ?>


--------------------
Językiem którym najlepiej operują wszyscy programiści są przekleństwa.
Go to the top of the page
+Quote Post
Ludvik
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 698
Pomógł: 3
Dołączył: 28.03.2004
Skąd: Wrocław

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


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...


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