ZYaller

php的一道面试题

Published in 2016/2/23 10:45. 856 Crowd. 0 Slot
function myfunc($a){ 
  echo $a + 10;
}
$val = 10;
echo "myfunc($val)=".myfunc($val);

有些人会说简单,不是应该输出myfunc(10)=20吗?其实不然,应是20myfunc(10)=。

这道面试题主要是考察执行顺序,具体解答过程如下:
  a.echo "myfunc($val)=";
  单独这样的时候,输出结果为:myfunc(10)= ,说明双引号中只不解析函数,只解析变量
  b.echo "myfunc($val)=".myfunc($val);
  拼接上后面的函数后,结果为:20myfunc(10)= ,说明后面的函数先执行输出了20。然后执行了echo语句。

总结:第一步执行后面的函数输出了20,然后在执行echo语句。故结果为:20myfunc(10)=

转载自:segmentfault

-
畅言评论
最新发布
热门推荐
随机阅读
热门标签