面试题14 说出代码的输出结果(变量的作用域)
<?php $num =10; function multiply(){ $num =$num *10; } multiply(); echo $num; ?>
输出结果是10。
【分析】本题考查的就是面试人员对变量的作用域的了解程度,面试中有一半的人做错这道题。因为变量$num不在函数multiply()的作用范围内,所以值没有变化。如果指定$num为全域变量(如global$num或者$_GLOBALS['num']),结果就又会不同了。
<?php $num =10; function multiply(){ $num =$num *10; } multiply(); echo $num; ?>
输出结果是10。
【分析】本题考查的就是面试人员对变量的作用域的了解程度,面试中有一半的人做错这道题。因为变量$num不在函数multiply()的作用范围内,所以值没有变化。如果指定$num为全域变量(如global$num或者$_GLOBALS['num']),结果就又会不同了。
共有条评论 网友评论