felix: bei foreach warning unterdrücken

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

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

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

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

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