php 返回参数,PHP函数类型、返回值及参数类型

一、什么是PHP函数

函数就是功能。调用一个函数就是在调用一个功能。

二、PHP 函数准则

函数的名称应该提示出它的功能。

函数名称以字母或下划线开头(不能以数字开头)。

三、函数的语法

function函数名称(类型:参数列表):返回值类型

{

// 函数体

return返回值;

}

四、函数的分类

function abc(){…} | 用户根据业务需求创建|” class=”reference-link”>| 1 | 自定义函数 | function abc(){...} | 用户根据业务需求创建|

举例:

functionabc(){

echo'正是江南好风景';

}

abc();

运行效果:

5af4c99c3ad5f2dbc0ffee92849bce4b.png

substr(), count()… | 也叫预定义函数,不必声明直接调用|” class=”reference-link”>| 2 | 系统函数 | substr(), count()... | 也叫预定义函数,不必声明直接调用|

举例:

$count='200';

echo $count;

运行效果:

4ed6a78d7455120d679c4a7202628b9f.png

$funcName(); | 函数名使用变量表示|” class=”reference-link”>| 3 | 可变函数 | $funcName(); | 函数名使用变量表示|

举例:

functionxyz(int$money,float$discount):float

{

return$money*$discount;

}

echo'数字是:'.xyz(6000,0.8);

echo'


';

$funcName='xyz';

echo'数字是:'.xyz(5000,0.5);

echo'数字是:'.$funcName(5000,0.5);

echo'


';

运行效果:

a51be471a826a0d7fc0538a34521f11c.png

$f = function (){…} | 也叫”闭包”或”函数表达式”,常用做回调处理 |” class=”reference-link”>| 4 | 匿名函数 | $f = function (){...} | 也叫”闭包”或”函数表达式”,常用做回调处理 |

举例:

$great=function($big)

{

echo $big.'又大又圆的苹果';

};

$great('桔子');

$great('西瓜');

运行效果:

3fc8dd0f814d855aca5b53413879cfea.png

五、函数多值返回的四种形式

函数必须要有返回值,并且必须遵守“单值返回”原则。

举例:

functionsub($x,$y)

{

$final=$x-$y;

return$final;

}

echo"20 - 5 = ".sub(20,5);

运行效果:

93dfab0e6b9cb77a0d0f5ec895a20576.png

如果需要返回多个值,可以通过以下手段。

string | 字符串拼接 |” class=”reference-link”>| 1 | string | 字符串拼接 |

举例:

functionsmall():string

{

$number=1;

$name='张三丰';

return$number.':'.$name;

}

echo small();

echo'
';

functionsmall2():string

{

$number=2;

$name='李寻欢';

return$number.':'.$name;

}

echo small2();

echo'
';

functionsmall3():string

{

$number=3;

$name='陆小凤';

return$number.':'.$name;

}

echo small3();

运行效果:

fd89f5355f57ce9ae4f8917ff9ef9915.png

array | 数组 |” class=”reference-link”>| 2 | array | 数组 |

举例:

functionsmall4():array

{

$number=1;

$name='张三丰';

return['number'=>1,'name'=>'张三丰'];

}

printf('

%s
',print_r(small4(),true));

echo'


';

functionsmall_numbers()

{

returnarray(1,3,5);

}

list($one,$three,$five)=small_numbers();

printf('

%s
',print_r(small_numbers(),true));

运行效果:

08a00406aea2a1c37efb079c13f3e1ec.png

json | JSON 字符串 |” class=”reference-link”>| 3 | json | JSON 字符串 |

举例:

functionsmall4():array

{

$number=1;

$name='张三丰';

return['number'=>1,'name'=>'张三丰'];

}

//echo '

' .print_r(small4(),true)'
';

printf('

%s
',print_r(small4(),true));

echo'


';

functionsmall5():string

{

//json encode():

returnjson_encode(['number'=>1,'name'=>'张三丰']);

}

echo small5();

// {

// "number": 1,

// "name": "\u5f20\u4e09\u4e30"

// }

echo'


';

functionsmall6():string

{

//json encode():

returnjson_encode(['number'=>1,'name'=>'张三丰']);

}

$data=small6();

echo $data;

运行效果:

5bb6b1789bed4205dd98f9b176962c01.png

serialize | 序列化字符串 |” class=”reference-link”>| 4 | serialize | 序列化字符串 |

举例:

functionsmall4():array

{

$number=1;

$name='张三丰';

return['number'=>1,'name'=>'张三丰'];

}

functionsmall7():string

{

returnserialize(['number'=>1,'name'=>'张三丰']);

}

echo small7();

//反序列化才可以使用

$arr=unserialize(small7());

printf('

%s
',print_r($arr,true));

运行效果:

0e4dff6beedcf3c734986f3cf9b96228.png

六、函数的四种参数

| 1 | 值参数 | 默认传参方式 |

举例:

functionnumber1(float$arg):float

{

return$arg*=3;

}

$value=40;

echo number1($value),'
';

echo $value;

运行效果:

9f3d25a8f084373e395df9b3839db5a1.png

| 2 | 引用参数 | 改变原始调用参数值 |

举例:

functionnumber2(float&$arg):float

{

return$arg*=5;

}

$value=35;

echo number2($value),'
';

echo $value;

运行效果:

9eda0fc4be641ca9a55d0ef100aba6b2.png

| 3 | 默认参数 | 调用时允许省略的参数 |

举例:

functionnumber3(float$x,float$y,string$opt='+')

{

$res=0;

switch($opt){

case'+':

$res="$x + $y =".($x+$y);

break;

case'-':

$res="$x - $y =".($x-$y);

break;

case'*':

$res="$x * $y =".($x*$y);

break;

case'/':

$res="$x / $y =".($x/$y);

break;

default:

$res='非法操作符';

}

return$res;

}

echo number3(15,7),'
';

echo number3(13,50,'*'),'
';

echo number3(5,78,'#'),'
';

运行效果:

| 4 | 剩余参数 | 调用参数数量不确定 |

举例:

functionnumber6(...$args):float

{

returnarray_sum($args);

}

$arr=[1,3,5,7,9,11,13,15,17];

print_r(number6(...$arr));

运行效果:

ce1ad73175891728c6c22c8cc2cf6fdc.png

七、总结函数的特点

1.可以在页面的任何位置调用函数。

2.函数名只能是字母,数字,下划线的组合,并且之间不能包含空格,数字不能放在变量名首位。与变量的命名类似。

3.函数名不区分大小写。

4.函数命名具有唯一性。

5.json是特殊的序列化返回值。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值