批改状态:合格
老师批语:php中的函数太多了, 常用的并不多, 好好练习
// 1.函数的4种类型// 1.1 系统函数echo '系统函数举例:<br>';echo '1.系统日期函数</br>';echo '今天是'.date('Y').'年'.date('m').'月'.date('d').'日<br>';echo '2.获取字符串长度函数</br>';echo '字符串:Hello Word的长度是'.strlen('Hello Word'),'<br>';echo '3.字符串截取函数</br>';echo '字符串:Hello Word截取前5个字符'.substr('Hello Word',0,5),'<br>';echo '4.字符替换函数</br>';echo '将字符串:Hello Word中的Word改为Everyone;'.str_replace('Word','Everyone','Hello Word'),'<br>';echo '5.四舍五入函数';echo '圆周率3.1415926四舍五入保留2位小数:'.round(3.1415926,2),'<br>';// 1.2自定义函数// 函数的命名规则同变量的命名规则// getPrice: 小驼峰命名法 get_price: 蛇形命名法echo '自定义函数举例:';function user($username,$age){return "姓名:".$username.",年龄:".$age;}echo user("张三",20);echo '<hr>';// 1.3可变函数echo '可变函数举例:';$funName = 'user';echo $funName('BAOYU', 30),'<hr>';// 1.4匿名函数$discount = 0.6;// $discount 的作用域是全局$getAmount = function ($money, $num) use ($discount){$amount = $money * $num;return $amount >= 2000 ? $amount * $discount : $amount;};echo '实付金额: ' . $getAmount(100, 20);echo '<hr>';

//2. 函数多值返回的4种形式// 2.1 字符串拼装function fun1(){$start = 'Hello ';$name = 'BAOYU';return $start .$name.'!';}echo fun1();echo '<hr>';// 2.2 数组function fun2(){return ['start'=>'Hello ', 'name'=>'BAOYU'];}echo fun2()['start'].fun2()['name'].'!';echo '<hr>';// 2.3 JSON字符串function fun3(){$arr= ['start'=>'Hello ', 'name'=>'BAOYU'];return json_encode($arr);}print_r(json_decode(fun3(), true));echo '<hr>';// 2.4 序列化: 字符串function fun4(){$arr= ['start'=>'Hello ', 'name'=>'BAOYU'];return serialize($arr);}// 反序列化后才可以使用$arr =unserialize(fun4());var_dump($arr,true);

// 3.函数的4种参数// 3.1 值参数function fun5($num){return $num *= 2;}$num=100;echo '函数返回的值:',fun5($num) , '<br>';echo '传参给函数的值:',$num, '<hr>';// 在函数中改变了调用参数的值,但原始调用参数并没有发生变化// 3.2 引用参数function fun6(&$num){return $num *= 2;}$num=100;echo '函数返回的值:',fun6($num) , '<br>';echo '传参给函数的值:',$num, '<hr>';// 如果在参数前面使用了取地址符,则会改变原始调用参数的值// 3.3 默认参数// 默认参数必须写在必选参数的后面function fun7($a, $b, $c = '默认参数' ){return '第1个参数是:'.$a.';第2个参数是:'.$b.';第3个是默认参数:'.$c;}echo '未传第3个参数时函数返回默认值:'.fun7('1','2'),'<br>';echo '传了第3个参数时函数返回传参值:'.fun7('1','2','3'),'<hr>';// 3.4 剩余参数:用...代表多个剩余参数function fun8($a,...$n ){$str='第1个必传参数是:'.$a.'<br>';$str.='剩余的参数分别是:';foreach($n as $na){$str.=$na.',';}return $str;}// 调用参数$arr = [1,2,3,4,5,6,9,22,67];// ...:// (1)用在函数的形式参数列表中,表示"收集",将多个离散的参数打包到一个数组中处理// (2)用在函数的调用参数列表中,表示"展开",还原将一个数组展开成一个个离散的值echo fun8(...$arr);echo '<hr>';

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号