<?
/**
* 函数:完成特定功能的代码块
* sunction 函数名称(参数类型限定 参数列表) :返回值类型限定
* {
* #函数体
* return 返回值
*
* 1.函数只能返回单个值,返回值的数据类型可以是任意类型
* 2.函数内碰到return语句,立即立即结束执行,return后面的代码不会被执行
* }
*/
echo abs(-9688.224);
echo "<hr>";
function demo1 ()
{
return 1;//return后立即结束,后面的代码不会被执行
echo "1111";
}
echo demo1();
echo "<hr>";
function demo2 ()
{
return array('hellow',66,'delete');
return md5('php');
}
echo '<pre>';
print_r(demo2());
ob_clean();
//多个值可以以数组的形式返回
function demo():array
{
return ['status'=>1,'msg'=>'验证成功'];
}
$res = demo();
echo $res['status'] == 1 ? $res['msg'] : '验证失败';
echo '<hr>';
//对象返回
function demo3():object
{
//匿名类
return new class()
{
public $name = 'damin';
public $email = '393598153@qq.com';
};
};
$user = demo3();
var_dump($user);
echo '<hr>';
//对象成员的访问 ->
echo $user->name;
echo'<br>';
echo $user->email;
echo '<hr>';
//转为json 格式的字符串返回
function demo4():string
{
return json_encode(['status'=>1,'msg'=>'验证成功'],JSON_UNESCAPED_UNICODE);
}
$json_str = demo4();
echo $json_str;//{"status":1,"msg":"验证成功"}
//解析json字符串 json_decode() 还原成php能够处理的数据类型
$res = json_decode($json_str,true);//第二个参数设为 true 转为数组
var_dump($res);
echo '<hr>';
//4.以序列化字符串返回
function demo5()
{
return serialize(['status'=>1,'msg'=>'验证成功']);
}
$str = demo5();
var_dump($str);
echo '<hr>';
//在php中使用时要还原成原来的类型
$res = unserialize($str);
echo '<pre>';
var_dump($res);
echo '<hr>';