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