Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]błąd przy foreach
Forum PHP.pl > Forum > Przedszkole
harbii
Po "poprawnym" wykonaniu skryptu (bo wszystko dodaje sie do bazy) wywala mi błąd

Warning: Invalid argument supplied for foreach() in
w lini:
  1. foreach ($produkt->lista_zdjec->zdjecie as $zdjeciaf2) {


czy po tym możecie stwierdzić o co mu chodzi czy to za mało informacji?
ZaXaZ
Cytat(harbii @ 12.04.2014, 21:20:03 ) *
Po "poprawnym" wykonaniu skryptu (bo wszystko dodaje sie do bazy) wywala mi błąd

Warning: Invalid argument supplied for foreach() in
w lini:
  1. foreach ($produkt->lista_zdjec->zdjecie as $zdjeciaf2) {


czy po tym możecie stwierdzić o co mu chodzi czy to za mało informacji?


"zły argument",

  1. foreach($zdjeciaf2 as $produkt->lista_zdjec->zdjecie){


pisz jak nadal niedziala
ber32
Sprawdź czy nie jest empty()

  1. $produkt->lista_zdjec->zdjecie
Turson
Cytat(ZaXaZ @ 12.04.2014, 21:23:22 ) *
"zły argument",

  1. foreach($zdjeciaf2 as $produkt->lista_zdjec->zdjecie){


pisz jak nadal niedziala

Weź nie dawaj takich pomysłów
ZaXaZ
Cytat(Turson @ 12.04.2014, 21:27:31 ) *
Weź nie dawaj takich pomysłów


co nie tak?, mi tak działają foreach, że np. zamiast foreach($pdo->fetch() as $x) to foreach($x as $pdo->fetch())
Turson
I uważasz, że przy
  1. foreach($zdjeciaf2 as $produkt->lista_zdjec->zdjecie)

będziesz pisał
  1. echo $produkt->lista_zdjec->zdjecie['cośtam']

questionmark.gif

A błąd autora tematu to ber32 słusznie zauważył.
ber32
ohno-smiley.gif
ZaXaZ
Cytat(Turson @ 12.04.2014, 21:33:27 ) *
I uważasz, że przy
  1. foreach($zdjeciaf2 as $produkt->lista_zdjec->zdjecie)

będziesz pisał
  1. echo $produkt->lista_zdjec->zdjecie['cośtam']

questionmark.gif

A błąd autora tematu to ber32 słusznie zauważył.


nie, będę wtedy echo $zdjaciaf2;
Turson
Może o czymś nie wiem, ale w PHP foreach wygląda tak (tablica as wartość), a w Javie na odwrót
ber32
lub tak (tablica as klucz =>wartość)
harbii
to jak tu wstawić to empty()?
ZaXaZ
Cytat(Turson @ 12.04.2014, 21:38:56 ) *
Może o czymś nie wiem, ale w PHP foreach wygląda tak (tablica as wartość), a w Javie na odwrót


napewno coś pomyliłem, ale z jakimś kodem właśnie z podobnym problemem co w pierwszym poscie miałem błąd z kolejnością... Zaraz zobaczę manual, a pewnie masz rację...

--edit--
Mój błąd, sory, ale tak czy inaczej kiedyś co do tego błędu miałem błąd z kolejnością, dość często mi się myli kolejność przez while(aaa = bbb) ... foreach(bbb as aaa)
Turson
Cytat(harbii @ 12.04.2014, 21:41:21 ) *
to jak tu wstawić to empty()?

  1. if(!empty($produkt->lista_zdjec->zdjecie)){
  2. //pętla
  3. }
ber32
  1. if(empty()){
  2. }
harbii
Dziękuję!
  1. if(!empty($produkt->lista_zdjec->zdjecie)){

I błędu nie ma. Nie pomyślałem aby dać to przed pętlą.

To może jeszcze podpowiecie jak zrobić aby z tej pętli foreach pierwszy rekord miał zmieną $a=1 a reszta $a=0 ? biggrin.gif
ZaXaZ
Cytat(harbii @ 12.04.2014, 21:49:30 ) *
Dziękuję!
  1. if(!empty($produkt->lista_zdjec->zdjecie)){

I błędu nie ma. Nie pomyślałem aby dać to przed pętlą.

To może jeszcze podpowiecie jak zrobić aby z tej pętli foreach pierwszy rekord miał zmieną $a=1 a reszta $a=0 ? biggrin.gif


if (reset($produkt->lista_zdjec->zdjecie)) $a=1; else $a=0;


znów mogę się mylić ale nie widzę struktury tablicy, i niewiem czy dobrze zrozumiałem

+edit kodu.
Turson
  1. $i=1;
  2. foreach(....){
  3. $a = ($i==1) ? 1 : 0;
  4. $i++;
  5. }
harbii
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.