php超全局变量

$_SERVER

$_GET

$_POST

$_REQUEST

$_FILE

$_COOKIE

$_SESSION

$_GLOBALS

超全局变量在页面的任何地方都可以使用。

函数分类(自定义函数 回调函数 变量函数 递归函数)

语言结构egg:if() while() for() switch() echo() array() die() include() requier()

自定义函数(自己写的函数)

function fun($i)

{

echo "这就是一个自定义函数!传的参数是".$i;

}这就是一个自定义函数。

fun(1);fun(5);这些就是调用自定义函数。

其中1,5就是传递的参数

默认参数

function ($num=9,$color="red")

{

echo $num;

echo $color;

}

函数的可变个数参数

function fun($a,$b)

{

 

}

fun($a,$b);调用参数 这样子的话只能够一对一的

function fun()

{

func_num_args(); 参数的个数

func_get_args(); 参数数组

array_sum(func_get_args());数组的和

}

fun(中间填写任意个参数);

等价于

function()

{

$tot=func_num_args();

$arr=func_get_args();

for($i=0;$i<$tot;$i++)

{

$sum=$sum+$arr[$i];

}

return $sum;

}

fun(很多的参数);

全局变量 在函数外作用域在整个php文件包含了include 和ruquire引入文件 。但是在函数中不能读到。除非在函数内重新声明为global。

局部变量 用在函数内,作用域就是所在函数

静态变量 用在函数内,被条用后,内存不释放,保留最后值。多用来统计累加

函数外面的变量和函数内部的变量没有任何关系

$arr=array(0,1,2);

function fun($i)

{

$i[0]=$i[0]+1;

$i[1]=$i[1]+1;

$[2]=$i[2]+1;

}

fun($arr);    运行结果是(0,1,2)

 

回调函数 如果一个函数的参数是另外一个函数的话就叫做回调函数

egg

function sum($i,$j)

{

return $i+$j;

}

function fun($a,$b,$c)

{

 echo $c($a,$b);

}

fun(1,2,"sum");

 

静态变量

一直保存一个状态

$num=0;

function show()

{

global $num;

$num++;

echo "这是第几次被调用".$num;

}

show();

show();

show();

show();   会显示分别1,2,3,4次调用

等同于

function show()

{

static $sum;

$sum++;

echo "第几次被调用".$sum;

}

show();

show();

show();

show();

 

文件包含

include  文件包含相当于文件拷贝。 报错。脚本代码继续执行。

require  文件包含相当于文件拷贝。当请求的页面不存在时报错。脚本直接终止。

递归函数

函数里面调用本身函数

$num=3;

function sum($num)

{

static $tot; 静态变量可以一直保存状态

if($num>=1)

{

$tot+=$num;

return sum(--$num);

}

else

{

return $tot;

}

}

echo sum($num);

你可能感兴趣的:(全局变量)