函数与变量作用范围

函数创建

里面用法用c++类似,

1
2
3
function 函数名 (参数1,2,3。。){
return //可以不返回,调用收到null
}

调用

1
foo();

全局变量

要用global对外部变量进行修饰才能使用

1
2
3
4
5
6
<?php
$var=12;
function foo (){
global $var;
echo $var;
}

常量

常量作用范围是全局的,不用加global不用理变量的规则

1
const Name='lthero';

函数中可以直接调用

静态变量

在函数内定义,每次调用函数时,使用同一个地址的值,而值不会随着函数结束面消失

引用参数

1
2
3
function foo(&$var){
#和c++引用一样
}

默认参数值

和c++一样,值从右向左加,右边的参数必须先添加

1
2
function foo($var,$var2=20){
}

关于参数的函数

可变长度的参数列表 func_get_args();    func_get_arg(index);   fun_num_args();

有三个php提供的函数

func_get_args();

可以得到全部的参数,返回一个数组

1
2
3
4
5
6
function foo(){
可以将传入的全部参数调用
得到一个数组
$arr=func_get_args();
}
foo(1,'2',33,true);

func_get_arg(num);

可以得到指定的参数,下标从0开始

1
2
3
4
5
function foo(){
$var=func_get_arg(2);
#这里的var是'url';
}
foo(1,'lthero','url');

fun_num_args();

可以得到传入参数的总个数

1
2
3
4
function foo(){
#得到参数个数
$total_args_num=fun_num_args();
}

可变函数

1
2
3
4
5
function foo(){}
$var='foo';
$var();
#就相当于调用foo();!!!
但不能用于echo unset print isset() include等结构

内置函数((这些函数可以直接使用) echo include require …是个结构,不是函数 php还有各种扩展