一、这里的函数用法与javascript一样,只是写法不一样而已。
<?php
注意:函数可以定义若干个形参,形参可以设定默认值,但是具有默认值的形参要排在无默认值的后面。
function myfunc($param2,$param="luxp"){
echo $param."hello world";//点"."表示拼接
}//输出结果为:luxphello world
myfunc("hi!");
注意:这里相当于赋值,所以function的大括号后面要加分号
$func=function(){
echo"hello world";
};
$func();
函数闭包:
functiongetfunc(){
$arr= array();
for($i=0;$i<10;$i++){
//用use之后才能使用函数外部的变量
$arr[$i] =function()use($i){
return10+$i;
};
}
return$arr;
}
//funcArr是一个数组
$funcArr=getfunc();
echo$funcArr[3]();
//全局变量与局部变量
$a=10;
//函数体内部定义的变量只在函数体内有效
//在函数体内部可以使用global关键字 将变量定义为全局变量
functionaddfunc($a){
global$a;
echo$a=$a-3;
}
addfunc(10);
//echo "$a";
echo $a;//所以上述结果为:7 7;
//引用传值,在形参前添加&符号,传得是变量的本身,这里就相当于用$b代替了$a;
functionmyfunc_2(&$a){
$a--;
echo$a;
}
$b=10;
myfunc_2($b);
echo$b;//结果为:9 9
//内置函数
//empty()判定一个变量是否存在,不存在返回true
//第一种:变量未定义,返回true;
//第二种:$luxp = "",为空,也返回true
//第三种:$luxp = "0"、0、null,也是返回true;
if(empty($luxp)){
echo"false";
}else{
echo$luxp;
}
//isset();判断变量是否定义了
//值=null,返回未定义
//值为true或者false返回的也是已定义
if(isset($luxp)){
echo"变量已定义";
}else{
echo"变量未定义";
}
?>、、、、、、、、、、、、、、