字符判断问题


可能重复的问题
php 数组foreach时,循环里边用key做判断条件问题

想请问下,为什么下面输出5534,就是(0 == 'aa' 返回真??)
$arr = array(0 =>1,'aa' => 2,3,4);
foreach($arr as $key => $val){
print($key == 'aa' ? 5 : $val);
}

php

Aovri 11 years, 2 months ago

数字与字符串比较时, 先尝试将字符串转换为数字, 再比较, 一个不能转换为数字的字符串, 转换结果为false,而false也就是0, 故, 与0比较总返回 true

飒飒de枫 answered 11 years, 2 months ago

Your Answer