Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> wspolny foreach dla tablicy jedno i dwuwymiarowej
maczos5
post
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 14.10.2008

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


Wysyłam za pomocą Select Multiple zaznaczone pozycje Option. Przykładowo Select Multiple ma nazwę name="grupa[]" .Dzięki temu w wyniku wysłania formularza otrzymuje tablicę:
["emailGroup"]=> array(2) { [0]=> string(1) "4" [1]=> string(1) "5" }.

Jednak oprócz tego w formularzu przesyłam zwykłe inputy, który nie są tablicami :
["submit"]=> string(10) "Zatwierdź" ["id"]=> string(1) "2" ["name"]=> string(8) "osobiste"

Po wysłaniu formularza dokonuje analizy, który pola są puste:
foreach ($_POST as $key=>$value)
{
}

I przypadku tablic w tablicy post otrzymuje warning:
Invalid argument supplied for foreach().

Da się jakoś przekształcić pętle foreach aby była porawna jednocześnie dla tablic jednowymiarowych jak i dwuwymiarowych??
Go to the top of the page
+Quote Post
wr24
post
Post #2





Grupa: Zarejestrowani
Postów: 10
Pomógł: 3
Dołączył: 29.06.2009

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


zeby nie rzucalo warninga sprawdzaj czy tablica nie jest pusta przed wywolaniem foreach
w samej petli zaloz warunek sprawdzajacy czy $value jest tablica czy nie jesli warunek spelniony lecisz z po $value z nastepny foreach'em


--------------------
Go to the top of the page
+Quote Post
tvister
post
Post #3





Grupa: Zarejestrowani
Postów: 253
Pomógł: 29
Dołączył: 18.08.2008

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


Użyj array_merge i połącz tabl post i emailGroup :-p .
Sposób drugi wywoływać rekurencje w funkcji np:
  1. function petla ($post){
  2. foreach ($post as $k => $w)
  3. if (is_array($w)) petla($w);
  4. else print('dupa';
  5. }




--------------------
Kto rano wstaje ten leje jak z cebra.
Go to the top of the page
+Quote Post
maczos5
post
Post #4





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 14.10.2008

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


"Użyj array_merge i połącz tabl post i emailGroup :-p ."
To raczej odpada, bo nie bedzie to wtedy dynamiczne, ale drugi sposób jak najbardziej ok.
Dzięki za pomoc

p.s.
Jednak o 1 w nocy ciężko się myśli tongue.gif

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: 22.08.2025 - 09:07