日期:2014-05-17  浏览次数:20424 次

求高手解析个php题目

<?php
$arr = array(0 =>1,'aa' => 2,3,4);
    foreach($arr as $key => $val){
echo "key:".$key.",jisuan:";
        print($key == 'aa' ? 5 : $val);
echo "<br>";
    }

?>


答案为啥是:5534呢
我是这样分析的
1.因为有2个索引,所以循环2次(正确答案是循环了4次,为啥呢)
2.以为第一次的索引时0,不等于aa,所以值是1,然而正确答案是5,为啥呢
3.第二次索引是aa正好等于aa,所以是5,这个推测正确
4.为啥他循环了4次,从哪来的4次呢

还有个题目,问题写在注释里了


var tmp = 'a';

if([] == false) tmp += 'b';//这里的[]是啥,数组吗

if(![]) tmp += 'c';//这里的[]是啥,数组吗

alert(tmp); //tmp 值为 ?

A.a
B.ab
C.ac
D.abc



------解决方案--------------------
$arr = array(
    0 =>1,
    'aa' => 2,
    3,
    4
);