PHPの連想配列のキーととしてnullを入れると…

ちょいと処理を記載していて、ん?そういえば…と思ったので試してみた。

$a[null]='1';
$a['']
= '5';
$a['B']='1';
$a['A']
='2';
$a['hogehoge']='9';

foreach($a as $key => $array){
$prt;
if(is_null($key)){
$prt = 'NULL';
}else if($key==''){
$prt = '空文字';
}else{
$prt = $key;
}
print( $prt .':');
print_r($array);
print('
');
}

print('
');

print_r($a[null]);

print('
');

print_r($a['']);

print('
');

print_r($a);

print('
');

--------結果------------
空文字:Array ( [0] => 1 [1] => 5 )
B:Array ( [0] => 1 )
A:Array ( [0] => 2 )
hogehoge:9

Array ( [0] => 1 [1] => 5 )
Array ( [0] => 1 [1] => 5 )
Array ( [] => Array ( [0] => 1 [1] => 5 ) [B] => Array ( [0] => 1 ) [A] => Array ( [0] => 2 ) [hogehoge] => 9 )

つまりはスクリプト言語らしく、
困るものは自分の都合がよいように使っていると解釈すればいいのかな?
連想配列のキーとして「null」としても実際には空文字として設定されていることになるわけです。

ちょっとしたこんな些細なとこ気をつけないとね…