函数调用注意事项:
1、php代码执行时,一遇到函数的调用,就会立马开辟一个新栈,执行该函数的代码,执行完毕后返回继续执行后续代码
2、各个栈间的变量是相互独立的(即使变量同名,变量也不相同)
简单计算器代码如下:
<?php
function jiSuan($num1,$num2,$oper)
{
$res=0;
switch($oper)
{
case "+":
$res=$num1+$num2;
break;
case "-":
$res=$num1-$num2;
break;
case "*":
$res=$num1*$num2;
break;
case "/":
$res=$num1/$num2;
break;
default:
echo "运算符号有误!";
}
return $res;
}
$a = 15;
$b = 30;
$type = "+";
$res = jiSuan($a,$b,$type);
echo "$a"."$type"."$b"."=".$res;
?>
代码流程分析图如下:
函数默认值传递调用:
<?php
$a=210;
function abc($b)
{
$b=300;
}
abc($a);
echo $a;
?>
代码流程分析图如下:
函数传地址调用:
如果function abc($b)改为function abc(&$b)呢?
代码流程分析图如下:
函数调用与循环综合示例:
<?php
function abc($n)
{
if($n>2)
{
abc(--$n);
}
echo "\$n=".$n."\n";
}
abc(4);
?>
代码流程分析图如下:
如果echo "\$n=".$n."\n";前加上else呢?
代码流程分析图如下: