博客列表 >PHP变量与函数的声明

PHP变量与函数的声明

天宁
天宁原创
2022年04月26日 19:14:47408浏览

变量与函数

变量

声明

类型由值决定,命名规范与js一样,只不过前面加上 $

  1. $username = '朱老师';
查看
  1. `echo $username . '<br>';`
查看值和类型
  1. var_dump($username);
  2. echo '<br>';
可更新
  1. $username = '牛老师';
  2. echo $username . '<hr>';

函数

声明与js是一样,但是可以限定参数与返回值类型,和TypeScript类似
  1. function getUsername(string $username): string
  2. {
  3. return 'Hello, ' . $username;
  4. }
调用,与js一样
  1. `echo getUsername('欧阳老师') . '<br>';`
参数不足:默认值
  1. function getTotal(float $price, int $num = 1): float
  2. {
  3. return $price * $num;
  4. }
  5. echo '总金额: ' . getTotal(68.5) . ' 元 <br>';
  6. echo '总金额: ' . getTotal(68.5, 5) . ' 元 <br>';
PHP中类似js模板字面量

在js中, 有模板字面量,可以使用插值表达式,变量,函数
在php中,也有类似的模板,不过有二个限制

  1. 必须用双引号声明
  2. 只解析变量,不支持函数(用匿名函数的方式或者把函数的结果赋给变量来支持,)
  1. // 声明一个匿名函数/函数表达式
  2. $getTotal = function (float $price, int $num = 1): float {
  3. return $price * $num;
  4. };
  5. // 应该告诉模板,这是一个变量,要一个界定标准,边界,用{}包含来界定
  6. echo "总金额: {$getTotal(68.5, 10)} 元 <br>";
参数过多,js 剩余参数 …rest
  1. $sum = function (...$args) {
  2. // print_r($args);
  3. // [1,2,3].reduce(....)
  4. return array_reduce($args, function ($acc, $cur) {
  5. return $acc + $cur;
  6. }, 0);
  7. };
  8. echo $sum(3, 4, 5, 6, 7);
返回值

renturn : 默认返回单值

返回多值:数组/对象

  1. $arr = [33, 2, 54, 7, 12, 23, 9];
  2. function getItems(array $arr, $value): array
  3. {
  4. // 在js中, 外部 变量自动穿透到内部,闭包
  5. // 在php回调方法中,使用外部变量,用use进行声明
  6. return array_filter($arr, function ($item) use ($value) {
  7. return $item > $value;
  8. });
  9. };
  10. print_r(getItems($arr, 20));

总结

  • 变量不用声明,直接用
  • 使用双号号声明字符串模板中可嵌入变量
  • 函数先声明,再调用
  • 函数参数不足: 默认值
  • 函数参数过多: 剩余参数…rest
  • 函数默认单值返回,返回多值请用数组或对象
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议