博客列表 >PHP函数与变量声明与调用总结

PHP函数与变量声明与调用总结

P粉317509817
P粉317509817原创
2022年04月19日 20:22:02359浏览
  1. <?php
  2. // 一个页面就是一个应用程序, 相当于exe, 可以被执行,只不过在服务器执行
  3. // ? (一). 变量
  4. // 1. 声明
  5. // 类型由值决定,命名规范与js一样,只不过前面加上 $
  6. $number = '123';
  7. // 2. 查看
  8. echo $number . '<br>';
  9. // 3. 查看值和类型
  10. var_dump($number);
  11. echo '<br>';
  12. // 函数
  13. // 1. 声明与js是一样,但是可以限定参数与返回值的类型
  14. function getUsername(string $number): string
  15. {
  16. return 'Hello, ' . $number;
  17. }
  18. // 2. 调用,与js一样
  19. echo getUsername('234') . '<br>';
  20. // 3. 参数不足: 默认值
  21. function getTotal(float $price, int $num = 1): float
  22. {
  23. return $price * $num;
  24. }
  25. echo '总金额: ' . getTotal(68.5) . ' 元 <br>';
  26. echo '总金额: ' . getTotal(68.5, 5) . ' 元 <br>';
  27. // 在js中, 有模板字面量,可以使用插值表达式,变量,函数
  28. // 在php中,也有类似的模板,不过有二个限制
  29. // 1. 必须用双引号声明
  30. // 2. 只解析变量
  31. echo "总金额: getTotal(68.5, 5) 元 <br>";
  32. // 声明一个匿名函数/函数表达式
  33. $getTotal = function (float $price, int $num = 1): float {
  34. return $price * $num;
  35. };
  36. // echo "总金额: $getTotal(68.5, 5) 元 <br>";
  37. // 应该告诉模板,这是一个变量,要一个界定标准,边界
  38. echo "总金额: {$getTotal(68.5, 10)} 元 <br>";
  39. $total = $getTotal(68.5, 10);
  40. echo "总金额: {$total} 元 <br>";
  41. // echo "总金额: ${total} 元 <br>";
  42. // 4. 参数过多, js 剩余参数 ...rest
  43. $sum = function (float $a, float $b, float $c): float {
  44. return $a + $b + $c;
  45. };
  46. echo $sum(3, 4, 5), '<br>';
  47. echo $sum(3, 4, 5, 6, 7), '<br>';
  48. $sum = function (...$args) {
  49. // print_r($args);
  50. // [1,2,3].reduce(....)
  51. return array_reduce($args, function ($acc, $cur) {
  52. return $acc + $cur;
  53. }, 0);
  54. };
  55. echo $sum(3, 4, 5, 6, 7);
  56. // 5. 返回值
  57. // return : 默认返回单值
  58. // 返回多值: 数组/对象
  59. $arr = [33, 2, 54, 7, 12, 23, 9];
  60. function getItems(array $arr, $value): array
  61. {
  62. // 在js中, 外部 变量自动穿透到内部,闭包
  63. // 在php回调方法中,使用外部变量,用use进行声明
  64. return array_filter($arr, function ($item) use ($value) {
  65. return $item > $value;
  66. });
  67. }

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议