Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przekazanie elementów tablicy jako argumenty funkcji
Forum PHP.pl > Forum > PHP
bne
No to od początku:

  1. <?php
  2. uri::parms();
  3. ?>
- zwraca tablice zawierającą wszystkie argumenty przekazane w url np:
  1. <?php
  2. 0=>parm1
  3. 1=>parm2
  4. 2=>parm3
  5. 3=>parm4
  6. 4=>parm5
  7. 5=>parm6
  8. 6=>parm7
  9. ?>


teraz będąc w klasie chciałbym wywołać funkcje w której przekaże wszystkie te argumenty tzn
  1. <?php
  2. $this->funkcja('parm1','parm2','parm3','parm4','parm5','parm6','parm7');
  3. ?>

Chodzi mi o to aby każdy parametr był osobno, nie w jednej długiej postaci.
.radex
Można prosić o konkretniejsze wytłumaczenie problemu?

$this->funkcja(array('parm1','parm2','parm3','parm4','parm5','parm6','parm7'));

questionmark.gif
bne
myślałem że jest dokładnie wytłumaczony winksmiley.jpg nie chce przekazywać tablicy bo ją już mam, chce aby każdy element tablicy był przekazany jako osobny argument.
.radex
No tutaj będzie problem, bo PHP żąda tylu argumentów ile jest w definicji funkcji.

Ewentualnie możesz się pobawić wartościami domyślnymi, ale zawsze będzie ograniczona ilość argumentów.

Np.

function foobar($var, $var = NULL, $var = NULL, $var = NULL, $var = NULL, $var = NULL, $var = NULL)

Ale to troszku bez sensu.

Choć wiesz, na 110% pewien nie jestem, bo w końcu jest coś takiego jak func_num_args()

@down: sorry, pomyłka tongue.gif
bne
func_num_args();

php zarząda jeśli mam podane w definicji funkcji ale nie wysypie błędu jeśli podam ich za dużo więc nie ważne ile mam podanych w definicji...chce przekazać wszystkie które są w tablicy
tomeksobczak
a w czym problem zeby przekazac tablice i operowac na niej wewnatrz funkcji?

a jeżeli już musisz tak kombinować to poczytaj o call_user_func_array()
bne
No i o to właśnie mi chodziło sam miałem u siebie w kodzie call_user_func(array($this, uri::segments(2)), $parms); brakowało mi tylko tego _array winksmiley.jpg wielkie dzięki
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.