PHP函数传递及返回值初探
2020-12-08陈春晖
陈春晖
摘要:
本文通过总结几个小例子,初步分析了PHP语言中的函数参数的传递,函数返回值的确定,等,给出了一些简单的结论。
关键词:
函数;传递;返回值
中图分类号:
TP312.1
文献标识码:
A
文章编号:
1672-9129(2020)15-0198-01
函数传递参数通常有三种方式,第一种方式,按值传递,这里定义了一个函数,test,函数有两个参数,parm1、parm2。接下来调用这个函数同样有两个参数$foo和$boo,在调用函数的时候,PhP会默认将$foo的值赋值$parm1,$boo值賦值给$parm2,这个过程就像神奇的印度飞饼,不管你传递多少个参数,函数会按照参数的先后顺序一一接收。
例如调用者的第一个参数$foo的值赋给函数的第一个参数,$boo的值赋给第二个参数parm2,如果有第3个第4个也是一一这样的对应的关系。
按值传递的方式就是将函数调用者中的参数,以从左到右的顺序依次复制给函数的参数,然后执行函数体内的代码,这就是按值传递的方式,也是最常见的方式。
接下来看一下第二种传递的方式:按引用传递。之前我们在学习变量的时候,学习过按引用赋值,按引用传递的参数与按引用赋值是一样的。我们再来回顾一下,在这个例子中定义了一个$name变量,将其赋值为函数测试,然后将$name这个变量按引用的方式赋值给$membername使用了地址符号。
在内存中的情况是只有一个函数测试这个值,$name和$membername,他们同时指向函数测试,这个值的地址。当函数测试值发生变化的时候,$name的值和$membername的值同时发生变化,这就是按引用传递。在函数中按引用传递,就是将参数的内存地址传递到函数中,即在参数前面加一个地址符号。我们来举例说明一下,按值传递和按引用传递的区别。
在乡村爱情故事中,赵四获得了村委会的任职,村委会给他安排了一间自己的办公室,于是他弄了一份图纸,设计了一个这样的办公室。此时刘能看到了赵四的办公室,真好看,于是他想方设法弄到了肇事的处置。按照这张图纸,他建造了一间一模一样的办公室,这种根据图纸能够创建一模一样的办公室的方式,就相当于按值传递方式。不久以后,由于村委会经济拮据,所以决定将刘能和赵四安排在同一个办公室,即他们两个共用这一个办公室。这时候赵四和刘能他们两个之间又开始相互影响了,这种方式就是按引用传递的方式,即使在函数的内部,所有的操作都会影响到调用者参数的值。
在填写网站的一些个人信息的时候,我们通常会在性别来有男女和保密三个选项,如果你不选择男或女,通常我们将其默认为保密,下面就实现这个功能。假如说我输入张三,然后我们来运行一下,在浏览器中输入网址,0212,看到提示信息中给我们报了错误,这里有个警告,说音符的函数缺少第二个参数。
我们来看一下,这里有两个参数$name和$gender,而我们在调用的时候只赋了一个初值张三,所以他给我们报了一个提示信息,缺少第二个参数,要加一个男。
Functioninfo($name,$gender)
{
Echo“$name”;
}
Info(“张三”);
再来输入一下。张三。这是正常了。现在要实现一个功能,不输入男或女,而显示保密,这应该怎么做呢?当然你也可以使用ifelse语句来判断,不是男不是女,然后选择保密。这里我们使用更简单的方式,对于这个参数,我们为其赋一个初值,这样在我们不使用第二个参数的时候,就会为其赋值为保密。
再来看一下,张三,第一个参数张三,第二个参数难输出的时候,张三男第一个参数里是第二个参数没有,默认的情况下就是保密这种为参数赋一个初始值的方式,就是函数的默认参数形式。
函数的返回值,我们已经知道可以通过参数向函数传递信息,不过函数还可以向它的调用者发回信息,首先程序运行到调用者的时候,根据调用者名称找到函数,这时控制权转移到函数,函数执行函数体内的代码,执行完毕以后,通过return语句将返回值返回给调用者,这样控制权再次回到了调用者。
结语:这里是对函数参数传递及返回值的一些简单探讨,如有错漏,欢迎指正。
参考文献:
[1]PHP程序设计(慕课版).程文彬,李树强2016
[2]PHP网站开发实例教程(第2版)黑马程序员2020
[3]PHP动态网站程序设计(第2版).唐四薪.2020
[4]web动态网站开发技术.郭玲.2019
[5]PHP动态网站开发项目教程.牟奇春.汪剑.2016