PHP变量与函数的声明
16lz
2022-04-27
变量与函数
变量
声明
类型由值决定,命名规范与js一样,只不过前面加上 $
$username = '朱老师';
查看
`echo $username . '<br>';`
查看值和类型
var_dump($username);
echo '<br>';
可更新
$username = '牛老师';
echo $username . '<hr>';
函数
声明与js是一样,但是可以限定参数与返回值类型,和TypeScript类似
function getUsername(string $username): string
{
return 'Hello, ' . $username;
}
调用,与js一样
`echo getUsername('欧阳老师') . '<br>';`
参数不足:默认值
function getTotal(float $price, int $num = 1): float
{
return $price * $num;
}
echo '总金额: ' . getTotal(68.5) . ' 元 <br>';
echo '总金额: ' . getTotal(68.5, 5) . ' 元 <br>';
PHP中类似js模板字面量
在js中, 有模板字面量,可以使用插值表达式,变量,函数
在php中,也有类似的模板,不过有二个限制
- 必须用双引号声明
- 只解析变量,不支持函数(用匿名函数的方式或者把函数的结果赋给变量来支持,)
// 声明一个匿名函数/函数表达式
$getTotal = function (float $price, int $num = 1): float {
return $price * $num;
};
// 应该告诉模板,这是一个变量,要一个界定标准,边界,用{}包含来界定
echo "总金额: {$getTotal(68.5, 10)} 元 <br>";
参数过多,js 剩余参数 …rest
$sum = function (...$args) {
// print_r($args);
// [1,2,3].reduce(....)
return array_reduce($args, function ($acc, $cur) {
return $acc + $cur;
}, 0);
};
echo $sum(3, 4, 5, 6, 7);
返回值
renturn : 默认返回单值
返回多值:数组/对象
$arr = [33, 2, 54, 7, 12, 23, 9];
function getItems(array $arr, $value): array
{
// 在js中, 外部 变量自动穿透到内部,闭包
// 在php回调方法中,使用外部变量,用use进行声明
return array_filter($arr, function ($item) use ($value) {
return $item > $value;
});
};
print_r(getItems($arr, 20));
总结
- 变量不用声明,直接用
- 使用双号号声明字符串模板中可嵌入变量
- 函数先声明,再调用
- 函数参数不足: 默认值
- 函数参数过多: 剩余参数…rest
- 函数默认单值返回,返回多值请用数组或对象
更多相关文章
- Android编译系统详解(三)——编译流程详解
- android之view获取getWidth()和getHeight()
- 按着步骤来,学习Android(安卓)NDK入门很简单
- android switch模块 (耳机检测)
- Android(安卓)数据Parcel序列化过程源码分析
- Android(安卓)Studio 调试过程中快捷查看断点处变量值(Ctrl+Shift
- 年末呼声最高的 Android(安卓)中高级面试笔记,如今“它”来了
- Android(安卓)反射获取私有方法,成员变量
- Android(安卓)图片资源的异步加载2