参照代入なら警告は出ない
某所にコメントしたんだけど、PHPってなぜだか参照の代入なら警告(E_NOTICE)は出ない。つまり、
$data = array(); $a = $data[0];
は2行目で E_NOTICE になるけど、
$data = array(); $a =& $data[0];
ならOKだったり。しかもなぜかこの後 $a の値を参照しても警告なし。なので、
function equal(&$a, $b)
{
return $a == $b;
}てしておいて、
if (equal($_GET['foo'], 'bar')) {
}なんてのもありかなぁ。ただ、こういうのをあんまり多用すると何のために E_NOTICE を有効にしているのかって話になるけど。