今天碰到的两个面试题
1、回答下述输出的值是多少
echo '1' . print(2) + 3;
答案:511
解析:先执行的是print(2)输出2然后和3相加等于5,然后开始执行echo语句先开始输出单引号里面的1,然后输出print(2)+3这个整体是1.
2、回答下述代码$adm等于多少
$arr=['1','2']; foreach ($arr as $key => $value) { if($key == 0){ $adm='3333'; }elseif($key == 1){ $adm[]='baidu'; } }
答案:报语法错误
解析:第一次循环if($key==0)成立,$adm='333'。这时候$adm成为字符串。第二次循环的时候if($key==1)成立$adm[]变成了数组,所以报错。