一、变量
(1) 声明
命名规范与js一样,只不过要在前面加 $
(2) 查看
使用 echo 直接在页面输出结果,只能看到值
(3) 查看值和数据类型
使用 var_dump
(4) 可更新,重新赋值
// !变量
// 1、声明
$userName = '张三';
// 2、查看
echo $userName.'<br>';
// 3、查看值和类型
var_dump($userName);
echo '<br>';
// 4、可更新
$userName = '李四';
echo $userName.'<br>';
二、函数
(1) 声明
- 声明与js一样,但是可以限定参数与返回值值的类型
function getName(string $name):string
{
return 'Hello, '.$name;
}
(2) 调用,与js一样
echo getName('王五').'<br>';
(3) 参数不足:默认值
function getTotal(float $price,int $sum=1):float
{
return $price*$sum;
}
echo '总价为:'.getTotal(50.2).' 元 <br>';
echo '总价为:'.getTotal(50.2,3).' 元 <br>';
(4) 参数过多, js 剩余参数 …rest
$sum = function (float $a, float $b, float $c): float {
return $a + $b + $c;
};
echo $sum(3, 4, 5), '<br>';
echo $sum(3, 4, 5, 6, 7), '<br>';
$sum = function (...$args){
return array_reduce($args,function($acc,$cur){
return $acc + $cur;
},0);
};
echo $sum(3, 4, 5, 6, 7), '<br>';
(5) 默认返回单值,返回多值: 数组/对象
$arr = [1, 2, 3, 4, 5, 6, 7];
function getItem(array $arr,$value)
{
return array_filter($arr, function ($item) use ($value) {
return $item > $value;
});
}
print_r(getItem($arr,4));