lulu: Warning: array_map() expects argument 2 to be an array

Beitrag lesen

Huhu Schwabe

Das hilft mir aber leider nicht weiter denn die fehlermeldung bleibt :-), denn mein 2ter parameter ist ein array

fgetcsv() returns FALSE on error, including  end of file.

Also liefert fgetcsv() nicht immer ein Array, besonders bei EOF nicht.

[..]
while(!feof($fp))
    {
    $output = fgetcsv($fp,1024,";");
    $check_output = array_map("suche_leer", $output);
[..]

versuch es mal so
while($output = fgetcsv($fp,1024,";") )
    {
    $check_output = array_map("suche_leer", $output);
[..]

Viele Grüße

lulu

btw.: Hier noch eine nützliche Hilfsfunktion, damit kann man solche Fehler auch abfangen.

function require_array(&$var)
{
 if(!is_array($var)) $var=array($var);
}

Für Dein Beispiel wäre das dann

while(!feof($fp))
    {
    $output = fgetcsv($fp,1024,";");
    require_array($output);
    $check_output = array_map("suche_leer", $output);
[..]

wobei es in diesem Fall deutlich hübscher ist, das fgetcsv in die While-Condition zu stecken.