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