<?php
error_reporting(-1);
$a = array('key' => '2');
$a = $a['key'];
var_dump($a);
echo $a['key'], "\n";
?>
コードが空の文字列をスローするか、キーが存在しないという警告をスローすると予想していましたが、コードは 2; を出力します。
PHP 5.3.10-1
Update1 : var_dump と error_reporting を追加します。
出力は
hari@hari-laptop:~$ php run.php
string(1) "2"
2