PHP之旅5 php的函数

函数的结构

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);

?>

结果为:

 

posted on 2017-04-10 10:28  Left-knife  阅读(158)  评论(0编辑  收藏  举报

导航