function value(&$param){}
value($var['key']);
echo array_key_exists("key", $var)? "true" : "false"; //true
运行此代码后,$var['key'] 最终存在,尽管从未明确设置过。这意味着empty($var)
将不再返回true
,这让我很困扰。
这种行为是有意的吗?我找不到这方面的文档。
给出相同结果的更简单的代码:
$foo = &$bar['key'];
$echo array_key_exists('key', $bar)? "true" : "false";