变量的传值与引用。
传值赋值,定义变量 $a = 1;定义变量 $b ,把 $a 的值赋给 $b, $b = $a;
引用赋值,定义变量b,将a变量的引用赋给b $b = &$a;
当变量时引用时,unset()只会取消引用,不会销毁内存空间
php中对象本身就是引用赋值
变量的类型转换和判断类型方法
类型判断
is_numeric ( mixed var ): //检验测定变量是不是为数码或数码字符串
is_bool(): //检验测定变量是不是是布尔型
is_float(): //检验测定变量是不是是浮点型和 is_double,is_real() 都同样的用法
is_int(): //检验测定变量是不是是整数 is_integer() 同样的用法
is_string(): //检验测定变量是不是是字符串
is_object(): //检验测定变量是不是是一个对象
is_array(): //检验测定变量是不是是数组
is_null(): //检验测定变量是不是为空
类型判断
强制类型转换
(int), (integer) // 转换为整形 integer
(bool), (boolean) // 转换为布尔类型 boolean
(float), (double), (real) // 转换为浮点型 float
(string) // 转换为字符串 string
(array) // 转换为数组 array
(object) // 转换为对象 object
(unset) // 转换为 NULL (PHP 5)
获取变量的类型gettype();
php运算符优先级,一般是写出运算符的运算结果。
PHP中函数传参,闭包,判断输出的echo,print是不是函数等。
php 中的匿名函数(Anonymous functions), 也叫闭包函数(closures), 允许指定一个没有名称的函数。最常用的就是回调函数的参数值。
匿名函数的定义:
$closureFunc = function(){ .... };
将匿名函数放在普通函数中,也可以将匿名函数返回,这就构成了一个简单的闭包
function closureFunc1(){ $func = function(){ echo "hello"; }; $func(); } closureFunc1();// 输出: hello
在匿名函数中引用局部变量
echo:是语句不是函数,没有返回值,可输出多个变量值,不需要圆括号。不能输出数组和对象,只能打印简单类型(如int,string)。
print:是语句不是函数,有返回值 1 ,只能输出一个变量,不需要圆括号。不能输出数组和对象,只能打印简单类型(如int,string)。
print_r:是函数,可以打印复合类型,例如:stirng、int、float、array、object等,输出array时会用结构表示,而且可以通过print_r($str,true)来使print_r不输出而返回print_r处理后的值
printf:是函数,有返回值,返回值是打印内容的长度,把文字格式化以后输出(参看C语言)
sprintf:是函数,跟 printf 相似,但不打印,而是返回格式化后的文字(该函数把格式化的字符串写写入一个变量中,而不是输出来),其 他的与 printf 一样。
PHP数组,数组函数,数组遍历,预定义数组(面试必出)。
PHP面向对象,魔术方法,封装、继承、多态。设计模式,包括(单利、工厂、迭代器、装饰、命令、策略)。
正则表达式,每个标号含义,邮箱、网址、标签匹配,正则函数(面试必出)。
PHP异常处理(级别,错误日志,控制错误输出)(面试必出)。
PHP时间函数,日期计算函数。
文件系统,记录日志、目录、文件的遍历、上传、多方法得到文件扩展名、文件引用方式、引用函数区别。(面试必出)。
会话控制,主要说原理。session与cookie在分布式应用中出现问题的解决方案。
PHP模板引擎,常用模板引擎特点,MVC好与不好的地方。
PHP安全处理,过滤函数。
XML的使用。
PHP字符串的处理,包括转义(安全)、编码、截取、定位、与数组间的转换、处理函数等。(面试必出)。
Socket编程,各种协议,head头,curl参数含义。
网络状态码含义,常用(204,304, 404, 504,502)。
Apache配置文件,PHP配置文件,各个含义字段的含义。
网络各种攻击的名词含义(SQL攻击、XSS、CSRF、DDos),防止措施。
url的处理函数,得到url指定的部分。