PHP的函数类型有几种,函数的四种类型,以及四种返回值个人理解演示总结

1.函数的作用

函数是实现代码复用的重要方法,可直接在需要的地方直接调用。

2.函数类型

函数有4种类型:自定义函数,系统函数,可变函数,匿名函数。

自定义函数:function del(){…}|自己定义一个del()函数

演示:

function del($a,$b)

{

return$a*$b;

}

echo del(10,20);

输出结果:

fe44c08f1463863443d68c111ba1a04f.png

```

系统函数:printf(),count()|系统预定义的函数,不同function声明,直接调用就可以使用

演示:

function del($a,$b)

{

return$a*$b;

}

printf(del(10,20));//printf()是系统预定义的函数,可以直接打印输出函数内内容//

输出结果:

c05fde52c4cc78b4ade4e9069d9f2dd8.png

可变函数:$getName…|函数用变量来表示

演示:````php

functiondel(float$a,float$b):float

{

return$a/$b;

}

$del='del';

echo'湖人队的胜率是'.$del(62,82);

输出结果:

a74a0e392dac6e57dea43341b14cc427.png

匿名函数:$money=function (){….}|其实就是闭包函数,主要是用于回调处理

演示:根据赛前预测的概率,判断出湖人队的胜率,来计算出本赛季夺冠的概率

$key=function($res){

returnfunction(float$a,float$b)use($res)

{

$k=($a/$b)*$res;

return'湖人队的夺冠率是'.$k;

};

};

echo $key(0.9)(62,82);

2876fa950ddb454d839aaf8d599f5f19.png

重点.use关键字可以引用函数外部的变量或者外部的形参。

个人理解:,如果父作用域是一个函数,子函数要先return,不然会报错。

3.函数的返回值

原则上函数的返回是单值,由于其他的需要,往往需要多值。

字符串的拼装

演示:显示用户的状态

functiondome():string

{

$status=0;

$res='退出';

return'用户的状态是'.$status.':'.$res;

}

echo dome();

输出结果:

34ecf6cc5739b906c9e14915a391ff05.png

数组的方式

演示:判断$status来判断付款的状态

functiondemo2():array

{

return['status'=>1,'message'=>'成功'];

}

$res=print_r(demo2(),true);

printf('

%s
',$res);

echo demo2()['status']==1?'用户付款'.demo2()['message']:'失败';

输出结果:

587558b2ef0c66384e24feeb410ac329.png

JSON格式返回

个人难点(json只知道是一种格式,没有大规模的接触前段,只是看朱老师的视频跟着ajax用过几次)

演示:判断$status来判断付款的状态

functiondemo3():string

{

returnjson_encode(['status'=>1,'message'=>'成功']);

}

$data=demo3();

$var=json_decode($data,true);

if($var['status']){

echo'用户付款'.$var['message'];

}else{

echo'用户付款失败';

}

输出结果:

f3fb251e75fec0deaeba5bb1b4ae1569.png

注意点:json_encode()函数对变量进行 utf—8 编码|json_decode()函数将json数据还原

序列化返回多个数值,json其实也是序列化的一种形式

演示:判断$status来判断付款的状态

functiondemo4():string

{

returnserialize(['status'=>1,'message'=>'成功']);

}

echo demo4();

echo'


';

$data=unserialize(demo4());

if($data['status']==1){

echo'用户付款'.$data['message'];

}else{

echo'用户付款失败!';

}

输出结果:

86716cd0f4123409fbf0d481eb9a8560.png

注意点:serialize()函数用来序列化一个数组,unserialize()用来反序列对象

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值