PHP array_key_exist Fehler, aber warum?

D

dreivier

Gast
Problem...

PHP:
$pass = array('Elvis' => 'abcdefg','Arnold' => 'hijklmn');

$such = '';

$sid = array_search($such, $pass); 


if(!array_key_exists($sid, $pass)) {

 echo 'output-error';

}
else {

 echo 'output-ok';
}

Warum erhalte ich wenn ich das Script einfach so starte einen Fehler und zwar diesen...
HTML:
Warning: array_key_exists(): The first argument should be either a string or an integer in /var/www/xxxxx/index.php on line 10
 output-error

Dabei spielt es keine Rolle ob $such gefüllt ist oder leer ausser der Wert stimmt und passt entweder zu Elvis oder Arnold. Heisst, fülle ich $such = "blablabla"; gibt es den selben Fehler!
Weiss jemand warum?
 
Zuletzt bearbeitet von einem Moderator:
Lies doch mal die Doku. Da steht doch, was die Funktion array_search zurückgibt, wenn der Wert nicht gefunden werden kann. Wie die Fehlermeldung dir bereits sagt, ist es weder ein String, noch ein Integer.
 
Du suchst nach Nichts, das findet er im Array nicht. Also gibt es ein False (Boolscher Wert). PHP ist nicht typensicher!
 

Ähnliche Themen

Zurück
Oben