批改状态:合格
老师批语:你老公是不是也是程序员 ? 这么好的条件要充分利用起来, 放心, 本期结束了, 有问题也可以在群中提问, 看到必复的

<?php// 函数语法// 声明函数 function 名称(参数){函数体 return 返回值;}function function1(int $a,int $b):string{return $a+$b;}echo function1(10,5);function function2(int $a,int $b){return $a+$b;}// 调用函数echo function2(10,5);?>

<?php// 函数分类// 1、自定义函数function function1(int $a,int $b):string{return $a+$b;}echo function1(10,5);echo '<hr>';// 2. 系统函数$array=[13,28,68,36];// count()计算数组元素个数或对象属性个数echo count($array);echo '<hr>';$str='因你而美丽';// substr(字符串,start,length)获取英文字符串一部分;mb_substr获取中文字符串一部分echo mb_substr($str,3,2);echo '<hr>';// 3、可变函数 函数赋值于一个变量,通过调用变量调用函数$sum='function1';echo $sum(10,5);echo '<hr>';// 4. 匿名函数: 闭包, 可以访问父作用域的变量$c=4;$sup=function (int $a,int $b):string{return ($a+$b);};echo $sup(4,3);echo '<hr>';$sup=function (int $a,int $b)use($c):string{return ($a+$b)*$c;};echo $sup(4,3);// 父作用域是函数$sub=function($c){return function (int $a,int $b)use($c):string{return ($a+$b)**$c;};};echo $sub(3)(2,3);?>

<?php// 返回值// 原则: 单值返回// 如果需要返回多值// 1. 字符串拼装function function1(){$num=1;$bool='ture';return $num.':'.$bool;}echo function1();echo '<br>';// 适合处理大量的php+html混写// 这种返回的格式是用户自定义的,前端处理非常麻烦// 2. 数组function function2(){return [ 'num'=>1,'bool'=>'ture'];}print_r(function2());echo '<br>';echo function2()['num'].':'.function2()['bool'];echo '<br>';// 3. JSON字符串function function3(){return json_encode([ 'num'=>1,'bool'=>'ture']);}print_r(function3());echo '<br>';print_r(json_decode(function3()));echo '<br>';// 4. 序列化: 字符串function function4() : string{return serialize(['num'=>1,'bool'=>'ture']);}echo function4();echo '<br>';print_r(unserialize(function4()));?>

<?php// 函数参数// 1. 值参数// 2. 引用参数// 3. 默认参数// 4. 剩余参数// 1. 值参数, 默认function per1($a){return $a=$a**2;}$b=2;echo per1($b).'<br>';// 2. 引用传递// 被调用参数值随形参而变化function per2(&$a){return $a=$a**2;}$b=2;echo per2($b).'<br>';echo $b.'<br>';// 3. 默认参数function per3($a,$b,$c=':'){return $a.$c.$b;}echo per3('peter','15').'<br>';function per4($a,$b,$c){switch($c){case ':':return$a.':'.$b;break;case '---':return$a.'---'.$b;break;case '***':return$a.'***'.$b;break;default:return'非法操作符';}}echo per4('jack','11','***');echo "<br>";// 4. 剩余参数// 收集function sum(...$numbers){return array_sum($numbers);}echo sum(1,5,37,5,4);// 展开$array=[2,4,6,7,3,9];print_r(sum(...$array));?>
总结:回头看这些知识,比当时刚学的时候强很多,但完全不看课件独自完成还是做不到的。但依然充满信心充满动力,因为一个月前的自己还不知道世界上有这么些个东东,从无到有,从小白到似懂非懂,很感谢自己的努力和坚持,很感谢老公的引道和陪伴,更感谢老师得辛苦付出。课程结束以后还有问题的话,希望老师依然能细心解答。谢谢啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号