
批改状态:合格
老师批语:写的很好!命名规范一定要遵守。
// 使用function声明
// 函数语法:
// function 函数名(参数列表) {
// 函数体
// }
function get_user_name(int $user_id){}
function get_password(int $user_id){}
function error_msg(string $str){}
//函数声明:求两个参数的和
function sum(float $x,float $y) :float{
return $x + $y;
}
//调用
echo sum(10,10);
//输出:20
//函数声明:求两个参数的和
function sum(float $x,float $y) :float{
return $x + $y;
}
//调用
echo sum(10,10);
// 1、所有的字符都转小写(针对英文字母)
echo strtolower('ABCDEFG');
// 2、字符串分割数组,语法:str_split(字符串,数组元素的长度)
print_r(str_split("aaabbbccc",3));
// 3、四舍五入
echo round(3.5);
//函数声明:求两个参数的和
function sum(float $x,float $y) :float{
return $x + $y;
}
// 1、定义值为函数名称的变量
$sum2='sum';
// 2、使用可变变量输出函数
echo $sum2(10,10);
echo '<br>';
// 使用函数输出结果相同
echo sum(10,10);
//将一个没有函数名的函数赋值给一个变量
$sum = function(float $x,float $y) :float{
return $x + $y;
};
echo $sum(10,10);
$msg = 'hello';
// 使用use()继承$msg变量
$msg_str = function () use ($msg) {
return $msg;
};
echo $msg_str();
function demo(): string
{
$status = 1;
$msg= '成功';
return $status . $msg;
}
echo demo();
//输出:1成功
function demo(): array
{
$user_id =1;
$user_name='张三';
return ['id' => $user_id, 'name' => $user_name];
}
print_r(demo());
// 输出:
// Array
// (
// [id] => 1
// [name] => 张三
// )
function demo(): string
{
$user_id =1;
$user_name='张三';
return json_encode(['id' => $user_id, 'name' => $user_name]);
}
echo demo();
// 输出:{"id":1,"name":"\u5f20\u4e09"}
//也可以使用json_decode()转回数组;(不加第二个参数默认转换为对象)
print_r(json_decode( demo(), true));
function demo(): string
{
$user_id =1;
$user_name='张三';
return serialize(['id' => $user_id, 'name' => $user_name]);
}
echo demo();
// 输出:a:2:{s:2:"id";i:1;s:4:"name";s:6:"张三";}
//a表示数组,2个元素,
//第1个元素键名为id为string类型,长度是2,值为int类型,长度是1
//第2个元素键名为name为string类型,长度是4,值为string类型,长度是6
// 反序列化: 还原
print_r(unserialize( demo()));
//函数声明:求两个参数的和
function sum(float $x,float $y) :float{
return $x + $y;
}
//调用
echo sum(10,10);
//输出:20
指定了两个
float
类型参数x,y
,未指定默认值
//函数声明:求两个参数的和
function sum(float $x,float $y=10) :float{
return $x + $y;
}
//调用
echo sum(5);
//输出:15
指定了两个
float
类型参数x,y
,其中y
指定了默认值10;
凡是有默认值的参数,必须写到没有默认值参数的后面
function sum(float &$y) :float{
return $y*=2;
}
$p=5;
//在函数参数中引用变量$p
echo sum($p);
//函数内部对参数的更新会实时映射到外部实际参数$p
echo $p;
//简单理解就是同步更新引用变量
// 例如:一个数量不固定的数求和,参数前面加...
function demo(...$num)
{
//array_sum为数组求和函数
return array_sum($num);
}
// 定义数组
$arr = [2,2,2,2,2];
// 无论数组有多少个,全部进行计算
$num_sum = demo(...$arr);
echo $num_sum;
// 函数的命名空间
namespace ns1 {
function demo(){
return '我是ns1的DEMO';
}
}
namespace ns2 {
function demo(){
return '我是ns2的DEMO';
}
}
// 全局空间: 匿名空间,默认空间
namespace {
function demo(){}
echo ns1\demo();
}
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号