1、创建函数的基本语法
function fun_name($str0,$str1,……$strn){fun body}
在调用函数时需要向函数传递参数,被传递的参数称为实参,而函数定义的参数称为形参;
参数传递方式有三种:值传递 地址传递 默认参数
值传递:
function valuePass($v){
$v.="改变";
echo "形参\$v=".$v."<br/>";
}
地址传递:
function valuepass2(&$v){
$v.="change";
echo "形参\$v=".$v."<br/>";
}
$n="实参n";
valuePass($n);
echo "值传递后变量n为:".$n."<br/>";
valuepass2($n);
echo "地址传递后变量n为:".$n;
----------值传递若函数内部改变了形参的值而不改变实参的值,而地址传递会改变实参的值------------------------------------
默认参数:
function def($a,$b,$c=0){
echo $a." ".$b." ".$c."<br/>";
}
def(1,2);//不更改默认参数
def(1,2,3);//更改默认参数
---------------------带有默认参数的函数,必须将默认值得参数放在必填参数的右侧----------------------------------------
否则若按以下情况就会报错
function def2($a=0,$b)
{echo $a." ".$b."<br/>";}
def(1);
在函数内用return 则返回一个值
2、回调函数
含义:在调用函数并不是将一个标准的变量作为参数,而是将另一个函数作为参数传递到调用的函数中
(若在函数格式中出现“callback”则说明该函数为回调函数)
变量函数又称可变函数,可以将一个函数赋给变量再通过变量去调用这个函数
eg:
function mod($m,$n){
echo $m%$n==0;
}
$fun="mod";
$fun(3,3);
function one($f,$a){
echo "可以被{$a}整除的数有:";
for($i=0;$i<100;$i++)
{if($f($i,$a))
{echo " ".$i;}
}}
$fun="mod";
function fun_name($str0,$str1,……$strn){fun body}
在调用函数时需要向函数传递参数,被传递的参数称为实参,而函数定义的参数称为形参;
参数传递方式有三种:值传递 地址传递 默认参数
值传递:
function valuePass($v){
$v.="改变";
echo "形参\$v=".$v."<br/>";
}
地址传递:
function valuepass2(&$v){
$v.="change";
echo "形参\$v=".$v."<br/>";
}
$n="实参n";
valuePass($n);
echo "值传递后变量n为:".$n."<br/>";
valuepass2($n);
echo "地址传递后变量n为:".$n;
----------值传递若函数内部改变了形参的值而不改变实参的值,而地址传递会改变实参的值------------------------------------
默认参数:
function def($a,$b,$c=0){
echo $a." ".$b." ".$c."<br/>";
}
def(1,2);//不更改默认参数
def(1,2,3);//更改默认参数
---------------------带有默认参数的函数,必须将默认值得参数放在必填参数的右侧----------------------------------------
否则若按以下情况就会报错
function def2($a=0,$b)
{echo $a." ".$b."<br/>";}
def(1);
在函数内用return 则返回一个值
2、回调函数
含义:在调用函数并不是将一个标准的变量作为参数,而是将另一个函数作为参数传递到调用的函数中
(若在函数格式中出现“callback”则说明该函数为回调函数)
变量函数又称可变函数,可以将一个函数赋给变量再通过变量去调用这个函数
eg:
function mod($m,$n){
echo $m%$n==0;
}
$fun="mod";
$fun(3,3);
function one($f,$a){
echo "可以被{$a}整除的数有:";
for($i=0;$i<100;$i++)
{if($f($i,$a))
{echo " ".$i;}
}}
$fun="mod";
one($fun,3);