所在的位置: Web开发 >> ASP.NET >> php面试题二

php面试题二

1

?PHPechocount(false);$a=count()+count(null)+count(false);echo$a;?

答案:2.考查:count的用法。因count()的官方解释“IftheparameterisnotanarrayornotanobjectwithimplementedCountableinterface,1willbereturned.”.意思是说,如果不是数组或者对象的其他类型,返回1.那么这个值应该就是1+0+1了(boolen人家也是一个类型,虽然是讨厌的false)。NULL的意思是没有值,难道在计数函数中还能有1?2

?PHP$arr=array(1,2,3);foreach($arras$val){$val+=$val%2?$val++:$val--;}$val=0;print(join(,$arr));?

答案:。考查:++和。因foreach结束后的数组应该是array(3,3,7);最后给第三个元素赋值为0,所以就是了。其中注意的是,如果有则是对原变量操作,如果没有,则是先生成一个新变量,然后给这个变量复制,最后操作的是这个新变量。3

?PHPechointval((0.1+0.7)*10);?

答案:7。考查:浮点数的概念。因0.1+0.7=0.80.8*10=8所以转换成整数后还是8?错!因为0.1+0.7=0.8是浮点数,0.8*10在数学计算中是正整数8,可是在计算机中它仍然是浮点数8,什么叫浮点数8?每一个看起来像整数的浮点数,其实都不是整数,比如这个8,它其实只是7.循环,无限接近于8,转换成整数会舍弃小数部分,就是7喽。4

?PHPini_set(display_errors,0);$arr=array(1=1,3=3);$i=2;$a=test.isset($arr[$i])?$arr[$i]:$i;请问$a的值是什么?A、testB、NULLC、2D、test2?

答案:B。考查:优先级。因“.的优先级高于三元运算符?:。所以程序其实报错了。会说$arr的索引2不存在。5

?PHP$a=3;$b=5;if($a=5

$b=7){$a++;$b++;}echo$a..$b;?A、68B、66C、26D、16E、46

答案:D。考查:优先级,基础概念,++。因“=的优先级低于“

”,所以先逻辑判断再赋值。也就是($a=(5

$b=7))。所以,最后其实给a赋值了,$a等于1.6

?PHP$x=2;echo$x==2?我:$x==1?你:它;?输出的结果是()A、我B、你C、它D、syntaxerror

答案:B。考查:优先级。因“==的优先级高于“?:”。我已经不想说为什么了,整理一下这种东西,我感觉要疯了,除了笔试题外估计也不会遇到了吧。

获取更多PHP资讯请长按







































治疗白癜风最好医院是哪家
北京治疗白癜风医院哪里好



转载请注明:http://www.guyukameng.com/aspnet/2017-06-30/6271.html