Guten Abend,
ich habe innerhalb eines switch-Blockes folgenden Code:
$Array_Anfangsbuchstaben = array ();
for ($i = 0; $i < count ($Inhalt); $i++)
{
$Erstes_Zeichen = substr ($Inhalt[$i]["Titel"], 0, 1);
if (is_numeric ($Erstes_Zeichen))
{
$Erstes_Zeichen = "Zahl, Zeichen, ...";
}
if (! Array_durchsuchen ($Erstes_Zeichen, "Titel", $Inhalt))
{
array_push ($Array_Anfangsbuchstaben, $Erstes_Zeichen);
}
$Array_Anfangsbuchstaben = sort (array_unique ($Array_Anfangsbuchstaben));
}
Der Wert des assoziativen Arrays "Inhalt" wird mir ganz am Beginn der PHP-Seite, also außerhalb
des switch-Blockes über folgende Anweisung erzeugt:
$Inhalt = unserialize (base64_decode (file_get_contents ("../SAMMLUNG/Sammlung_Temp.txt")));
Die Funktion "Array_durchsuchen" sieht folgendermassen aus:
function Array_durchsuchen ($Suchbegriff, $Spalte, $Zu_durchsuchendes_Array)
{
if (! empty ($Zu_durchsuchendes_Array) && is_array ($Zu_durchsuchendes_Array))
{
for ($i = 0; $i < count ($Zu_durchsuchendes_Array); $i++)
{
if ($Zu_durchsuchendes_Array[$i][$Spalte] == $Suchbegriff ||
strcmp ($Zu_durchsuchendes_Array[$i][$Spalte], $Suchbegriff) == 0)
{
return true;
}
}
}
return false;
}
Diese Funktion liegt ebenfals außerhalb des switch-Blockes.
Das assoziative Array wird mir korrekt übergeben, da ich mir innerhalb des switch-Blockes beliebige
Elemente ausgeben lassen kann und diese auch korrekt sind.
Beim Ausführen der Seite bekomme ich bezüglich des obiggen Codes aber folgende Warnungen:
Warning: array_push() [function.array-push]: First argument should be an array
Warning: array_unique() [function.array-unique]: The argument should be an array
Warning: sort() expects parameter 1 to be array, boolean given
Was ich nicht verstehe, ist die Tatsache, dass obiger Code außerhalb des switch-Blockes ohne Probleme
klappt.
Warum erhalte ich die Warnungen ? Woran liegt es ?
Vielen Dank für Eure Rückantworten.
Gruß
enrico