[php]php总结,1

1、变量可以连续传递赋值

2、var_dump()打印变量信息

3、isset()与unset()

4、可变变量

$p = "temp";

$$p则表示$temp变量,即最右边的变量的值为下一个变量的值

5、变量支持引用

类似C语言可以利用&获取变量地址

6、变量的假值

0,null, 0.0, "", "0", array(),

7、单引号与双引号的区别

双引号中可以直接解析变量,单引号不可以

也能够解析大括号,单引号不可以

能够解析转义字符(单引号只能转义\和'),

$a = 100;

"the score is $a"输出为:the score is 100

"the score is {$a}"输出为:the score is 100

8、利用定界符声明字符串

$str = <<<EOF

heheheheeheheh

EOF;

相当于

$str = "heheheheeheheh";

EOF是自定义的

注意:开始标记必须是直接回车(空格都不能有)

结束标记后分号也直接回车

9、类型转换

setType(变量,类型字符串);

变量前加();

intval();floatval();strval();

10、常量

define(变量名字符串, 值);

constant()获取常量值

get_defined_constants();获取所有常量列表

11、php支持goto语句(与C相同)

12、函数默认参数

function demo($demo = "demo"){

}

13、可变参数函数

function demo(){

$arr = func_get_args();

$num = func_num_args();

}

14、变量函数

function add(){

}

$var = "add";

$var();

15、回调函数

回调函数:其接收的参数是函数,则这个函数就可成为回调函数

(1)利用变量函数来是实现的

//功能打印个位非0的数字

function remove($var, $func){

for($i=0; $i<$var; $i++){

if($func($i))

continue;

echo $i;

}

}

//此函数作为参数

function func($var){

if($var%10==0)

return true;

else

return false;

}

(2)当参数函数是类的静态方法或者是对象的方法,变量函数不能够支持

function remove($var, $func){

for($i=0; $i<$var; $i++){

if(call_user_func_array($func, array($i)))

continue;

echo $i;

}

}

class Filter{

function func($var){

if($var%10==0)

return true;

else

return false;

}

}

remove(100, array(new Filter(), "func"));

注意:此处调用remove函数是用数组来描述参数函数,即$func=array(new Filter(), "func")

call_user_func_array($func, array($i))是将后边数组中的元素按照顺序赋给前边的函数的形参

16、require和include的区别

(1)require在预处理时候执行,想当于将require文件中的用到的函数或内容拷贝到调用的地方

(2)require执行失败会出现致命错误,而include是出现警告

17、闭包函数

(1)函数内部有函数,父函数可以返回子函数,但子函数不能有return

(2)子函数可以调用父函数内部的变量,利用关键字use

(3)父函数的内部变量会保持激活状态不会被释放

function test(){

$a = 100;

$p = function () use(&$a){

echo $a++;

};

return $p;

}

$test = test();

$test();

$test();

$test();

多次调用$a的值是在不断增加的