Warning: array_key_exists()

gruebel-gruebel

Erfahrenes Mitglied
Hallöle bin schon wieder da,

habe gestern ein Thema mit der Antwort
(array_key_exists($_POST["vers_id"], $_SESSION["warenkorb"]))
funktioniert bestens.

Jetzt kommt aber gleich das nächste Problem und ich sitz auf der Leitung.
Solange etwas im $_SESSION[„warenkorb“] ist funktioniert es wunderbar aber wenn ich zum ersten mal auf die Seite gehe und der Warenkorb ist leer gibt es einen Fehler und zwar:

Warning: array_key_exists() [function.array-key-exists]: The second argument should be either an array or an object in /home/www/web91/html/stamps24/index1.php on line 1196

PHP:
if (array_key_exists($_POST["vers_id"], $_SESSION["warenkorb"])){

    echo "<div class=\"liegt_schon\">";
    echo "Der Artikel liegt schon im Warenkorb.";
    echo "</div>";
}

else{
.......
.......
}
Habe schon einiges ausprobiert mit einer if aber ich bekomme es nicht hin.
FRAGE: Was für eine Abfrage muss davor gesetzt werden wenn der Warenkorb noch leer ist.
Gruß
grübel grübel
 
PHP:
if (isset($_SESSION["warenkorb"]) && is_array($_SESSION["warenkorb"]) && array_key_exists($_POST["vers_id"], $_SESSION["warenkorb"]))
 
Naja...ist doch ganz logisch, wenn du auf einen Arrayschlüssel prüfen willst, und nicht weisst, ob die Variable existiert und Array ist, prüfe halt
  1. existiert die Variable
  2. ist sie ein Array
  3. existiert der Schlüssel

Du kannst die Fehlermeldung auch durch ein @ vor array_key_exists() vermeiden...ob das guter Stil ist, liegt im Auge des Betrachters.
 
Zurück