daniel: in_array() in zusammenhang mit mehrdimensionalen arrays

hallo alle zusammen,

ich habe ein kleines problem... ;-)

folgende situation: ich habe eine funktion mit der ich eine hochgeladene bilddatei auf größe, dateityp etx. überprüfe. diese gibt mir ein mehrdimensionales array zurück, indem der dateiname mit der Fehlermeldung oder der Meldung "Image correct" vermerkt ist.

Mit dieser Funktion überprüfe mehrere Bilder hintereinander, der Rückgabewert wird in ein mehrdimensinales Array $fehler geschrieben.

die ausgabe von $fehler mit print_r($fehler) sieht dann bspw. so aus:

Array ( [0] => Array ( [0] => 150_88_3k_jpg.jpg [1] => Image correct )

[1] => Array ( [0] => 1600_1200_57k_jpg.jpg [1] => Error: Filetype (Current: image/pjpeg) or Filesize (Current: 56.34 kB) from File "1600_1200_57k_jpg.jpg" is incorrect. )

[2] => Array ( [0] => textdatei.txt [1] => Error: Filetype (Current: text/plain) or Filesize (Current: 0.26 kB) from File "textdatei.txt" is incorrect. )

[3] => Array ( [0] => zerowing_game.gif [1] => Image correct ) )

damit gebe ich ggf. fehlermeldungen bzgl der Bilder für den besucher aus.

so weit, so gut.

jetzt will ich aber checken, ob alle vier Bilder korrekt sind, d.h. ob in diesem array auch wirklich 4mal der wert "Image correct" vorhanden ist. mit in_array klappt das irgendwie nicht so ganz.

gibt es da irgendwas, was ich in bezug auf in_array im umgang mit mehrdimensionalen arrays beachten müßte?

oder wie würdert ihr sowas angehen? letzten endes soll einfach nur eine variabel gesetzt werden, wenn alle 4 bilder ok sind, damit sie dann gespeichert werden können (und ich nicht irgendenen murks von besuchern speichere, die mir sonstwas unterjubeln wollen ;-))

grüße, daniel

  1. hi!

    oder wie würdert ihr sowas angehen?

    so müßte es doch auch gehen:

    foreach ( $fehler as $val )
    {
    if ( $val != "Image correct" )
    $falsch=1;
    }

    if $falsch=0
    echo "Alle Bilder in Ordnung."
    else
    echo "Mindestens ein Bild ist fehlerhaft."

    alternativ könntest du dann noch nen array mit reinnehmen, der dir sagt welche bilder fehlerhaft sind.