Blogger Information
Blog 29
fans 0
comment 0
visits 27357
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PHP基础:函数基础知识
暴宇
Original
650 people have browsed it

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>';

Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:php中的函数太多了, 常用的并不多, 好好练习
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post