批改状态:合格
老师批语:写的很好!回调函数暂时不理解,不用太过纠结,后面老师会详细讲的。
//函数声明语法:// function 函数名称的标识符(参数列表){// 函数体// }
函数命名规范:
function show(){}function _show(){}
< ?php// 定义函数function show() {echo '学习不刻苦,不如卖红薯!';}// 调用show();?>
用户自己定义的函数
<?php// 定义函数function write_msg() {echo 'hello PHP!';}write_msg(); //调用函数?>
<?php// 返回不同数的反余弦echo (acos(0.5) .'<br>');//返回不同数的绝对值:echo (abs(5.5) .'<br>');//返回随机整数。echo (rand() .'<br>');?>

<?phpfunction show($argc) {echo $argc, '<br>';}// 将函数名保存到变量中$str='show';$str('学习不刻苦,不如卖红薯!');?>

匿名函数就是没有名字的函数也叫具名函数和闭包。
<?php//将一个没有函数名的函数赋值给一个变量$show=function () {echo '学习不刻苦,不如卖红薯!';};$show();?>

函数必须要有返回值,且只能返回单一的值,可以通过以下方法返回函数值:
<?phpfunction demo1(): string{$color = '红色';$fruit = 'apple';return $color . $fruit;}echo demo1();?>

<?phpfunction demo1(): array{$color = '红色';$fruit = 'apple';return ['color'=>$color ,'fruit'=>$fruit];}print_r(demo1());?>

<?phpfunction demo1(): string{$color = '红色';$fruit = 'apple';return json_encode(['color'=>$color ,'fruit'=>$fruit]);}echo demo1();print_r(json_decode( demo1(), true));?>

<?phpfunction demo1(): string{$color = '红色';$fruit = 'apple';return serialize(['color'=>$color ,'fruit'=>$fruit]);}echo demo1();print_r(unserialize( demo1()));

默认情况下,参数的传递是值传递
<?php// 默认参数8$num=8;function fun($args) {$args=88;}// 默认参数值传递fun($num);echo $num;

引用参数需要在前面加取地址符&
<?php$num=8;// 引用参数function fun(&$args) {$args=88;}fun($num);echo $num;

<?php// 有参数的必须写到没有默认参数的后面function fun($name,$age=30,$address='不确定') {echo "姓名:{$name}<br>";echo "年龄:{$age}<br>";echo "地址:{$address}<br>";echo '<hr>';}fun('老黄');

<?php// 参数前面加...function fun($name,$age,...$favorite) {echo '姓名:'.$name,'<br>';echo '年龄:'.$age,'<br>';print_r($favorite);echo '<hr>';}fun('老王',33);fun('老黄',30,'牛排','北京烤鸭','德州扒鸡');

<?php$arr = array(1,3,5,7,9);function fun($num){// 数组中的每个值乘以3return($num*3);}// 将函数作用到数组中的每一个值print_r(array_map("fun",$arr));

<?php// 命名空间namespace ns1 {function show(){echo '代码敲烂,月薪过万!';}}// 在全局中访问namespace {echo ns1\show();}

总结:了解的函数的声明和调用。也熟悉了函数类型,就是对函数的使用掌握不是熟练,特别是异步编程中的回调函数不是很明白。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号