批改状态:合格
老师批语:
<?php/*** 函数的返回值只能单个返回可以是字符串、整数、浮点型、数组、对象和布尔类型* return后面的代码不会被执行** 函数的参数:* 多个参数可以用,隔开* 参数为函数的调用者体供了一个接口去改变函数体的执行行为* 没有参数。函数的执行行为是固定的* 参数列表是从左往右传值的,形参设置有默认值的时候可以不填写参数,如果传了参数,会覆盖默认值*/$name = '林俊杰';function demo($name){//return返回的数据需要echo才能显示return '我是'.$name;}echo demo('周杰伦<br>');function demo1(int $a=1,int $b=2,int $c=3,int $d=4){return $a+$b+$c+$d;}//参数列表是从左往右传值的,形参设置有默认值的时候可以不填写参数,如果传了参数,会覆盖默认值//参数要么传,要么全都不传echo demo1();echo demo1(7,8,9,10);echo '<hr>';//function_exists()判断函数名是否存在if(!function_exists('demo3')){//剩余参数是...生成的 参数个数不确定//剩余参数在列表中表示收集的作用function demo3(...$arr){return array_sum($arr);}echo demo3(123,456,789,125,666).'<br>';$arr1 = [147,258,369,777,666,852];//剩余参数用在函数调用表达式中:展开echo demo3(...$arr1);}//匿名函数在PHP中是闭包函数$demo4=function($name){return "欢迎{$name}来到php<br>";};echo $demo4('胡歌');/*** 作用域:* 全局成员不受作用域的影响* 函数外变量如果想在函数内使用必须使用 global 变量名 或 $GLOBALS['变量名']* 闭包函数如果要使用全局变量需使用 use(变量名)*/$phome='iPhone 12 Pro Max';$RAM = '12G';function demo5($phome,$RAM){global $name;return $name.'的手机型号'.$phome.'内存是'.$RAM.'<br>';}function demo6($phome,$RAM){global $name;return $GLOBALS['name'].'的手机型号'.$phome.'内存是'.$RAM.'<br>';}echo demo5($phome,$RAM);echo demo6($phome,$RAM);function demo7 ($s){global $name;return function ($t) use(&$name,$s){if($name == '周杰伦') {$name = '林俊杰';return "{$t}最喜欢{$name}唱的{$s}<br>";}else{$name = '周杰伦';return "{$t}最喜欢{$name}唱的{$s}<br>";}};}echo demo7('告白气球')('灭绝小师太');echo $name;
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号