这篇文章主要为大家详细介绍了坑人PHP面试题的深入分析,具有一定的参考价值,可以用来参考一下。
感兴趣的小伙伴,下面一起跟随四海网的小玲来看看吧!
这几道题是在德问上看到的,感觉挺有意思,拿来给大家分享其中的陷阱,看看你会不会掉入其中。
代码如下:
$arr = array(0=>1,"aa"=>2, 3, 4);
foreach($arr as $key=>$val){
print($key == "aa" ? 5 : $val);
}
代码如下:
Array
(
[0] => 1
[aa] => 2
[1] => 3
[2] => 4
)
代码如下:
print($key === "aa" ? 5 : $val);
代码如下:
$i='11';
printf("%d\n",printf("%d",printf("%d",$i)));
代码如下:
var_dump(printf("%d",$i));
代码如下:
11int(2)
代码如下:
$a = 3;
$b = 5;
if($a = 5 || $b = 7) {
$a++;
$b++;
}
echo $a . " " . $b;
第二个陷阱,认为答案等于 6 8。 你识破了 $a = 5 || $b = 7 这个骗局,但你没有注意到,逻辑或里只要依次执行直到某个表达式结果为true,表达式后边的就不再执行,$a = 5 返回true,后边的$b=7就不执行了。
第三个陷阱,认为答案等于 6 6。 OK,你识破了 逻辑或的规则,于是$a=5执行,$b=7不执行,但是你没有考虑到这里是逻辑表达式,返回给$a的值是要转换为布尔值的。这样看。
所以经过以上三个陷阱,你应该知道答案是多少了,其实 $a等于true以后,echo $a 输出就是1 ,$b值不变,结果就是 1 6 。
代码如下:
$count = 5;
function get_count() {
static $count = 0;
return $count++;
}
++$count;
get_count();
echo get_count();
代码如下:
$a = count ("567") + count(null) + count(false);
echo $a;
如果你回答 3 or 1,恭喜,掉入陷阱了。
因为count(null)等于0,false也算一个值。所以count(false)等于1。
本文来自:http://www.q1010.com/173/17490-0.html
注:关于坑人PHP面试题的深入分析的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。
关键词:面试题
四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。