函数的结构
php的函数和其他语言的函数基本类似,和C语言比较的话主要区别在于php是一个弱语言,对类型不敏感,在函数的表现上就是,php函数没有类型定义,不像语言即使无参也要定义为void,而且不管是形参还是实参都不用管类型,php自己会去识别。用起来还是比较简单的。
定义函数时只需要在函数声明function,如下是其结构。
function 函数名称(参数1,参数2,参数3...){
函数体;
}
eg:
<?php function helloWord(){ echo "helloWord"; } helloWord();//引用函数,
?>
结果就是 :
注意在引用函数时一定记得加上后面的();不然会报错。
可变函数
先看一个例子
<?php function addNum($a,$b){ $c = $a+$b; return $c; } $a=1; $b=2; $haha = "addNum"; echo $haha($a,$b); ?>
输出结果为:3
如果没学过脚本是不是很惊讶,可变函数就是同样的函数名称,奇函数体可以动态改变,就像C语言中的指针,同一个函数指针可以动态指向不同的函数体。
php允许将函数名称作为字符串赋给某个变量,这样当这个变量后面加上一对括号,php将会寻找与该变量值同名的函数进行执行。
如果你学过另一个脚本语言python,也会有同样的情况。
匿名函数
从php5.3.0开始,php开始支持匿名函数。
匿名函数就是临时创建的,没有名字的函数。php的匿名函数通过闭包来实现。
eg:
<?php $arr = [1,2,3,4,5,6,7,8]; echo "初始数组为:<br/>"; print_r($arr); //array_filter()用回调函数过滤数组中的元素 $newArr = array_filter($arr,function($var){return $var>4;}); echo "<br/>之后的数组为:<br/>"; print_r($newArr); ?>
结果为: