批改状态:合格
老师批语:案例简单直观
1,自定义函数
function demo1($a,$b){return $a+$b;}echo demo1(1,2).'<hr>';
2,系统函数,系统自带的函数无需定义可以直接使用,例如:isset()函数
$text='www.php.cn';if (isset($text)):echo '$text的值是'.$text.'<hr>';else:echo '$text的值是空的'.'<hr>';endif;
3,可变函数,将一个变量赋值为函数然后调用,例如:
//创建一个函数demo2function demo2($a,$b){return '当前函数是:'.__FUNCTION__.'<br>结果是:'.($a+$b);}//创建一个函数demo3function demo3($a,$b){return '当前函数是:'.__FUNCTION__.'<br>结果是:'.$a*$b;}//将'demo2'函数赋值给$func$func='demo2';//赋值后的$func相当于'demo2'echo $func(5,6).'<hr>';//将'demo3'函数赋值给$func$func='demo3';//这时发现同样运行$func(5,6),因为$func值不同所执行的函数与结果也不同echo $func(5,6).'<hr>';
4,匿名函数,没有函数名的函数,需要赋值到变量来使用,例如:
//匿名函数可以使用'use()'命令引用公共变量.$c=100;$func=function($a,$b)use($c){return $a+$b+$c;};echo $func(5,8).'<hr>';
1,字符串拼接,将多个字符串结果拼接输出
function demo1($a,$b){return $a.'|'.$b;}echo demo1('php中文网','www.php.cn').'<hr>';
2,用数组返回结果
function demo2($a,$b){//将要返回的结果装入数组中$c=['name'=>$a,'URL'=>$b];//返回数组return $c;}echo '<pre>'. print_r (demo2('php中文网','www.php.cn'),true).'<pre><hr>';
3,用json字符串的方式返回结果
function demo3($a,$b){//将要返回的结果装入数组中$c=['name'=>$a,'URL'=>$b];//返回json字符串,设置编码模式为:JSON_UNESCAPED_UNICODEreturn json_encode($c,JSON_UNESCAPED_UNICODE);}$result= demo3('php中文网','www.php.cn');echo $result.'<br>';//将json转为数组$arr=json_decode($result,true);//显示结果echo '<pre>'. print_r ($arr,true).'<pre><hr>';
4,用序列化字符串的方式返回
function demo4($a,$b){//将要返回的结果装入数组中$c=['name'=>$a,'URL'=>$b];//将数组转换为序列化字符串返回return serialize($c);}//运行函数$result= demo4('php中文网','www.php.cn');//显示结果echo $result.'<br>';//将序列化的结果转换为数组echo '<pre>'. print_r (unserialize($result),true).'<pre><hr>';
1,值参数
function demo1($a,$b){return $a+$b;}echo demo1(1,2).'<hr>';
2,引用参数
$c=100;//将第二个参数设置成引用参数function demo2($a,&$b){return $b+=$a;}//将$c传入到第二个参数demo2(50,$c);//显示$c的值,这时$c的值已经改变为150echo $c.'<hr>';
3,默认参数
//将$c设置为默认参数初始值为100function demo3($a,$b,$c=100){return $a+$b+$c;}//当demo3的第三个参数未设置时$c的值为100,所以结果为103echo demo3(1,2).'<br>';//也可设置默认参数的值,此时$c的值为10,所以结果为13echo demo3(1,2,10).'<hr>';
4,剩余参数
//第一种方法function demo4(){ //获取传入参数所组成的数组$arr=func_get_args();//遍历数组求和foreach ($arr as $key => $value) {$result+=$value;}//返回参数的总和return $result;}//demo4可以传入任意数量的参数echo demo4(1,2,3,4,5,6,7,8,9,10).'<br>';//第二种方法$arr=[1,2,3,4,5,6,7,8,9,100];//'...'将传入的参数打包成数组function demo5(...$arr){return array_sum($arr);}//'...'可以将数组转换为普通格式echo demo5(...$arr).'<br>';
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号