变量与函数的声明,使用与参数的实例演示
1.变量与函数
<?php
//?变量
// 变量的声明
$name = "张三";
// 变量的查看
echo $name."<br>";
// 变量类型与值的查看
var_dump($name);
echo "<br>";
// 变量的更新
$name = "李四";
echo $name."<hr>";
//?函数
//声明函数
function getName($name){
return "你好,{$name}";
}
//可以限定参数与返回值的类型
function getName2(string $name):string{
return "你好,{$name}";
}
//调用函数
echo getName($name)."<br>";
//参数不足,默认值
function getAmount(float $a,int $b=1):float{
return $a*$b;
}
echo getAmount(12.5)."<br>";
//参数过多,...
function add(...$args){
return array_reduce($args,function($acc,$cur){
return $acc+$cur;
},0);
}
echo add(1,2,3,4,5)."<br>";
//模板,必须双引号声明,{}边界,只解析变量,使用函数时声明为匿名函数?函数表达式
$getName=function($name){
return "你好,{$name}";
};
echo "{$getName("王五")},欢迎,{$name}"."<br>";
//返回值,返回多值时使用数组/对象
function getItems(...$args){
return array_filter($args,function($item){
return $item>10;
});
}
print_r(getItems(5,10,15,20));
2.使用与参数
<?php
//?结果输出
//echo 字符串
echo implode([1,2,3])."<br>";
//var_dump 值,类型,支持多个变量
var_dump([1,2,3],"a")."<hr>";
//格式化打印
//数组格式化
$arr=["Html","Js","Php"];
//只关心值
print_r($arr);
echo "<br>";
//需要返回字符串时,传入第二个参数true
//<pre>定义预格式化的文本,保留空行和换行符
echo "<pre>".print_r($arr,true)."</pre>";
//printf,%s:string,%d:int,%f:float
printf("<pre>%s</pre>",print_r($arr,true)) ;
//sprintf只返回不打印
$string=sprintf("<pre>%s</pre>",print_r($arr,true));
echo $string;
//vprintf支持数组打印
vprintf("%s和%s和%s<br>",$arr);
//vsprintf只返回不打印
$string=vsprintf("%s和%s和%s<hr>",$arr);
echo $string;
//?值传递,引用传递
//值传递
$a="1";
$b=$a;
$b="2";
echo $a,",",$b."<br>";
//引用传递,&
$a="1";
$b=&$a;
$b="2";
echo $a,",",$b."<br>";