Manchmal geht mir PHP auf den Geist… gerade Fehlersuche beendet und wieder mal einen Effekte gefunden, der mir auf Anhieb nicht einleuchtet:

<?php
error_reporting(E_ALL | E_STRICT);
//
$test=array(1,2,3); print("'".$test[6]."'\n");
// gibt warning (arrayindex) + leerstring
//
$test=false; print("'".$test[6]."'\n");
// leerstring, kein warning
//
$test=0; print("'".$test[6]."'\n");
// leerstring, kein warning
//
$test=‚test‘; print("'".$test[6]."'\n");
// gibt warnung (stringoffset) + leerstring
?>

Wieso bekomme ich für den Index-Zugriff auf „false“ oder dem Integer-Wert keinerlei Warnung ?


Leave a Reply

You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>