php学习三:函数
1. php中的函数和js中的区别
在php中,函数的形参可以给一个默认值,若有实参的传递则函数使用传递过来的参数,没有的话显示默认值
代码如下:
function showSelf($name="房明"){ echo "{$name}今年十八岁<br>"; }; //函数的调用 showSelf();
2. 判断函数是否存在,function_exists(函数名)
代码如下:
if(function_exists("showSelf")){ showSelf("盖伦"); }else{ echo "当前函数不存在"; };
3. 全局变量,关键字global
可以通过关键字global来声明变量是全局变量,因为在php中,声明变量是用$,使用的时候也需要加$,所以系统无法分辨是使用变量还是在声明变量,所以需要用到关键字
代码如下:
$age = 10; function showParam1($name){ //通过global 关键字声明当前变量是全局的 global $age; $age = 20; //此时已经将全局变量给修改 echo $name.$age."11111<br>"; } function showParam2($name){ global $age; echo $name.$age."2222<br>"; } showParam1("张三"); showParam2("李四");
4. 静态变量,关键字static
使用关键字static可以改变变量的生命周期,使其生命周期变成全局变量的生命周期;
只会在系统第一次运行的时候进行初始化,再次访问的时候并不会进行初始化,
代码如下:
function f1() { static $num = 10; $num++; echo $num."<br>"; } f1(); //此时的结果为11 f1(); //此时的结果为12
5. 变量函数
在php中,可以声明一个变量来直接接受函数名,执行变量相当于执行函数
代码如下:
function show() { echo "我被调用了<br>"; }; $f = "show"; $f(); //此时函数会被调用
6. 过滤数据的函数
代码实例(打印出1-100以内所有的奇偶数:
function filter($f){ for($i=0;$i<100;$i++){ if($f($i)){ echo $i." "; } } }; function even($num){ return $num%2; }; function oven($num){ return !($num%2); }; filter("even"); echo "<br>"; filter("oven");