我遇到了一些我认为很微妙但很酷的 PHP 行为。但我不明白怎么...
$test=array('a'=>'c', 'b'=>'c');
unset($test['a']);
var_dump($test);
这打印
array(1) { ["b"]=> string(1) "c" }
我本来希望数组被清空。毕竟,$test['a']评估为 'c' 所以 unset 函数只看到 'c' 但知道它只是我想要删除的第一个 'c' 值?
我的猜测是interpeter非常聪明,并且在给它的参数内查看数组内部 - 但这纯粹是猜想......