博主信息
博文 29
粉丝 0
评论 0
访问量 36212
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
PHP基础:函数基础知识
暴宇
原创
832人浏览过

PHP基础:函数基础知识

1.函数的4种类型:系统函数、自定义函数、可变函数、匿名函数

  1. // 1.函数的4种类型
  2. // 1.1 系统函数
  3. echo '系统函数举例:<br>';
  4. echo '1.系统日期函数</br>';
  5. echo '今天是'.date('Y').'年'.date('m').'月'.date('d').'日<br>';
  6. echo '2.获取字符串长度函数</br>';
  7. echo '字符串:Hello Word的长度是'.strlen('Hello Word'),'<br>';
  8. echo '3.字符串截取函数</br>';
  9. echo '字符串:Hello Word截取前5个字符'.substr('Hello Word',0,5),'<br>';
  10. echo '4.字符替换函数</br>';
  11. echo '将字符串:Hello Word中的Word改为Everyone;'.str_replace('Word','Everyone','Hello Word'),'<br>';
  12. echo '5.四舍五入函数';
  13. echo '圆周率3.1415926四舍五入保留2位小数:'.round(3.1415926,2),'<br>';
  14. // 1.2自定义函数
  15. // 函数的命名规则同变量的命名规则
  16. // getPrice: 小驼峰命名法 get_price: 蛇形命名法
  17. echo '自定义函数举例:';
  18. function user($username,$age){
  19. return "姓名:".$username.",年龄:".$age;
  20. }
  21. echo user("张三",20);
  22. echo '<hr>';
  23. // 1.3可变函数
  24. echo '可变函数举例:';
  25. $funName = 'user';
  26. echo $funName('BAOYU', 30),'<hr>';
  27. // 1.4匿名函数
  28. $discount = 0.6;
  29. // $discount 的作用域是全局
  30. $getAmount = function ($money, $num) use ($discount){
  31. $amount = $money * $num;
  32. return $amount >= 2000 ? $amount * $discount : $amount;
  33. };
  34. echo '实付金额: ' . $getAmount(100, 20);
  35. echo '<hr>';

2.函数多值返回的4种形式:字符串拼装、数组、JSON字符串、序列化字符串

  1. //2. 函数多值返回的4种形式
  2. // 2.1 字符串拼装
  3. function fun1(){
  4. $start = 'Hello ';
  5. $name = 'BAOYU';
  6. return $start .$name.'!';
  7. }
  8. echo fun1();
  9. echo '<hr>';
  10. // 2.2 数组
  11. function fun2(){
  12. return ['start'=>'Hello ', 'name'=>'BAOYU'];
  13. }
  14. echo fun2()['start'].fun2()['name'].'!';
  15. echo '<hr>';
  16. // 2.3 JSON字符串
  17. function fun3(){
  18. $arr= ['start'=>'Hello ', 'name'=>'BAOYU'];
  19. return json_encode($arr);
  20. }
  21. print_r(json_decode(fun3(), true));
  22. echo '<hr>';
  23. // 2.4 序列化: 字符串
  24. function fun4(){
  25. $arr= ['start'=>'Hello ', 'name'=>'BAOYU'];
  26. return serialize($arr);
  27. }
  28. // 反序列化后才可以使用
  29. $arr =unserialize(fun4());
  30. var_dump($arr,true);

3.函数的4种参数:值参数、引用参数、默认参数、剩余参数

  1. // 3.函数的4种参数
  2. // 3.1 值参数
  3. function fun5($num){
  4. return $num *= 2;
  5. }
  6. $num=100;
  7. echo '函数返回的值:',fun5($num) , '<br>';
  8. echo '传参给函数的值:',$num, '<hr>';
  9. // 在函数中改变了调用参数的值,但原始调用参数并没有发生变化
  10. // 3.2 引用参数
  11. function fun6(&$num){
  12. return $num *= 2;
  13. }
  14. $num=100;
  15. echo '函数返回的值:',fun6($num) , '<br>';
  16. echo '传参给函数的值:',$num, '<hr>';
  17. // 如果在参数前面使用了取地址符,则会改变原始调用参数的值
  18. // 3.3 默认参数
  19. // 默认参数必须写在必选参数的后面
  20. function fun7($a, $b, $c = '默认参数' )
  21. {
  22. return '第1个参数是:'.$a.';第2个参数是:'.$b.';第3个是默认参数:'.$c;
  23. }
  24. echo '未传第3个参数时函数返回默认值:'.fun7('1','2'),'<br>';
  25. echo '传了第3个参数时函数返回传参值:'.fun7('1','2','3'),'<hr>';
  26. // 3.4 剩余参数:用...代表多个剩余参数
  27. function fun8($a,...$n ){
  28. $str='第1个必传参数是:'.$a.'<br>';
  29. $str.='剩余的参数分别是:';
  30. foreach($n as $na){
  31. $str.=$na.',';
  32. }
  33. return $str;
  34. }
  35. // 调用参数
  36. $arr = [1,2,3,4,5,6,9,22,67];
  37. // ...:
  38. // (1)用在函数的形式参数列表中,表示"收集",将多个离散的参数打包到一个数组中处理
  39. // (2)用在函数的调用参数列表中,表示"展开",还原将一个数组展开成一个个离散的值
  40. echo fun8(...$arr);
  41. echo '<hr>';

批改老师:天蓬老师天蓬老师

批改状态:合格

老师批语:php中的函数太多了, 常用的并不多, 好好练习
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

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

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学