bei foreach warning unterdrücken
felix
- php
hi
wie kann ich bei einem foreach das warning "Warning: Invalid argument supplied for foreach()" unterdrücken?
das warning kommt, wenn das array leer ist.
mit @ gehts nicht ...
jemand ne idee ??
danke.
gruss
felix
Huhu felix
wie kann ich bei einem foreach das warning "Warning: Invalid argument supplied for foreach()" unterdrücken?
das warning kommt, wenn das array leer ist.
nö, das kommt wenn das argument(die Variable) gar kein Array ist.
jemand ne idee ??
eine Möglichkeit:
$items = 'Kein Array';
if ( !is_array($items) ) {
$items = array($items);
}
foreach ( (array) $items as $i) {
echo $i;
}
noch eine Möglichkeit:
$items = 'Kein Array';
foreach ( (array) $items as $i) {
echo $i;
}
aber am Besten überprüfst Du Dein Programm warum die Variable
kein Array ist, und immer hübsch initialisieren mit
$items = array();
Viele Grüße
lulu
Hi
nö, das kommt wenn das argument(die Variable) gar kein Array ist.
ich bin mir 100% sicher, dass das ein array ist, weill wenn ich mind ein platz belegt habe, funtz. es.
nur wenn das array leer ist gehts nicht...
gruss
felix
Huhu felix
ich bin mir 100% sicher, dass das ein array ist, weill wenn ich mind ein platz belegt habe, funtz. es.
dann sollte aber keine Fehlermeldung bei foreach kommen ...
lass Dir mal die Variable um die es geht per var_dump anzeigen.
Viele Grüße
lulu
Recht einfach. Mach die Ausführung der foreach-Schleife einfach davon abhängig, ob der Array leer ist. Überprüfen kannst du das z. B. mit empty() oder mit count(), welches 0 ergibt wenn im Array, den du als Parameter übergibst, nichts drin ist.