关于 0 == ‘aa’,返回 1 的面试题
原问:
请写出以下的输出结果:
$arr = [1, 'aa' => 8, 3, 4, 5];
foreach($arr as $key => $value){
print($key == 'aa' ? 10 : $value);
}
如果回答 1 10 3 4 5 , 那么恭喜,成功错误
这个题的考点在 当 0 == 'aa' 的布尔值
PHP 中整型和字符串比较时,将隐式将字符串转成整型
即 (int)'aa' = 0
那么 0 == 0 返回true
那么题目的答案就是 10 10 3 4 5
你入坑了吗?
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: