有人说,程序中的函数就是一堆代码的替代,为了重复使用这堆代码而抽象出来的。当初,不知道为什么起名叫函数,可能是这一块代码抽象出来后,它的功能很像数学中的函数,有参数输入后会返回一个值,就像数学函数有自变量经过函数法则后得出因变量。并且程序中的函数在英文里面就是叫function。
好了,直接看看我们自定义的函数,和系统内置的函数吧。看图:
PHP函数的定义,先写下function这个词,然后就是函数名,这里是add, 函数名最好是望文生义的。函数名后面有个括号,括号里面是参数,可以有1个,2个,甚至更多,参数之间用逗号隔开,定义函数的时候,参数多数是直接用变量表示的,这个请注意。然后就是大括号,里面是函数的内容了。这里因为是加法,所以直接用
c
变
量
来
表
示
加
法
的
和
,
注
意
这
个
代
码
是
从
“
=
”
的
右
边
开
始
执
行
的
,
先
加
变
量
c变量来表示加法的和,注意这个代码是从“=”的右边开始执行的,先加变量
c变量来表示加法的和,注意这个代码是从“=”的右边开始执行的,先加变量a和
b
,
然
后
将
和
赋
值
给
变
量
b,然后将和赋值给变量
b,然后将和赋值给变量c。最后return 结束程序并返回
c
的
值
,
是
返
回
值
,
不
是
返
回
变
量
名
。
还
需
要
注
意
,
如
果
不
加
上
e
c
h
o
这
个
值
,
结
果
是
不
会
显
示
的
。
当
然
也
可
以
用
p
r
i
n
t
。
当
使
用
这
个
已
经
定
义
好
的
函
数
时
,
叫
做
调
用
。
调
用
函
数
,
可
以
直
接
给
函
数
传
值
,
就
是
把
参
数
直
接
变
成
值
传
入
,
也
可
以
在
调
用
前
,
定
义
好
参
数
变
量
,
传
入
变
量
参
数
。
效
果
是
一
样
的
。
例
子
中
都
有
,
仔
细
看
看
。
r
e
t
u
r
n
是
返
回
并
且
结
束
这
个
函
数
的
意
思
,
如
果
我
把
上
面
函
数
的
r
e
t
u
r
n
这
一
行
全
部
去
掉
,
再
e
c
h
o
a
d
d
(
3
,
5
)
;
就
不
会
有
任
何
东
西
输
出
。
原
因
是
如
果
没
有
返
回
,
这
个
c的值,是返回值,不是返回变量名。 还需要注意,如果不加上echo这个值,结果是不会显示的。当然也可以用print。 当使用这个已经定义好的函数时,叫做调用。调用函数,可以直接给函数传值,就是把参数直接变成值传入,也可以在调用前,定义好参数变量,传入变量参数。效果是一样的。例子中都有,仔细看看。 return是返回并且结束这个函数的意思,如果我把上面函数的return这一行全部去掉,再echo add(3,5); 就不会有任何东西输出。原因是如果没有返回,这个
c的值,是返回值,不是返回变量名。还需要注意,如果不加上echo这个值,结果是不会显示的。当然也可以用print。当使用这个已经定义好的函数时,叫做调用。调用函数,可以直接给函数传值,就是把参数直接变成值传入,也可以在调用前,定义好参数变量,传入变量参数。效果是一样的。例子中都有,仔细看看。return是返回并且结束这个函数的意思,如果我把上面函数的return这一行全部去掉,再echoadd(3,5);就不会有任何东西输出。原因是如果没有返回,这个c就只能在函数内有效,函数外就没有了。有了return这个
c
的
值
就
可
以
保
留
在
函
数
外
了
。
当
然
,
函
数
名
c的值就可以保留在函数外了。当然,函数名
c的值就可以保留在函数外了。当然,函数名c也就消失了。这个吗?请自行代码试验。
另一种类型的函数,它的参数有的或全部是引用变量做函数参数,如果理解了引用变量,我的博客里面有专门的一节讨论这个,就很容易理解这个引用参数。我们举例,加图
请注意:定义函数时,我们将KaTeX parse error: Expected 'EOF', got '&' at position 6: a的前面放&̲,意思是表示引用参数,其他与正…a = $a +
b
;
因
为
b; 因为
b;因为a是100,
b
是
50
,
两
者
相
加
是
150
;
这
样
b是50,两者相加是150;这样
b是50,两者相加是150;这样a所指向的变量就成了150,再次调用时就是150+50,第三次调用时就是200+50;
那么如何消除这个引用呢?用unset函数即可。
另外,PHP还有变量函数等,我认为不太重要,就略去了。
PHP有大量的内置函数,这个要好好熟悉,有机会再谈。
PHP-函数
最新推荐文章于 2021-04-06 14:23:22 发布