基本语法
1. foreach, for , while 循环访问数组,哪个效率最高?为什么?
foreach是PHP内部实现,而while是通用的循环结构。所以,在通常应用中foreach简单,而且效率高
2. php 读取文件的方式有几种? 都有什么区别?
file_get_contents — 将整个文件读入一个字符串,不需要fopen打开
file — 把整个文件读入一个数组中,不需要fopen打开
fgets — 从文件指针中读取一行,string fgets ( resource$handle[, int$length] )
fread — 读取文件(可安全用于二进制文件),string fread ( resource$handle, int$length)
fgetc — 从文件指针中读取字符,string fgetc ( resource$handle)
3. PHP empty、isset、isnull的区别
empty
如果 变量 是非空或非零的值,则 empty() 返回FALSE。换句话说,""、0、"0"、NULL、FALSE、array()、var $var、未定义; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回TRUE。
isset
如果 变量 存在(非NULL)则返回TRUE,否则返回FALSE(包括未定义)。变量值设置为:null,返回也是false;unset一个变量后,变量被取消了。注意,isset对于NULL值变量,特殊处理。
is_null
检测传入值【值,变量,表达式】是否是null,只有一个变量定义了,且它的值是null,它才返回TRUE .其它都返回FALSE 【未定义变量传入后会出错!】.
4. $a=null; $b=NULL, $a==$b和$a===$b的结果是什么
true,true
5. a='', a==null,a===null 和 is_null($a)结果是什么?
true,false,false
6. 一个多维数组,请写一个递归函数输出所有内容并返回数组内元素的总个数(static 变量);
7. 删除数组中的元素的方法有哪些?它们的优缺点是什么?(uset,array_splice(自动下标,会重排,uset不会))
8. PHP中的函数区分大小写吗?
php中变量名是区分大小写的,而函数名与类名是不区分的
9. if(){} esle if(){} ;if(){} esleif(){} ;if(){} Esle (){}哪个对?
10. php 有几个魔术方法,都有什么用?(__constraction,__set,__get,__call,__callStatic, __construct .....)
11. empty和unset有什么区别
12. function unset_example(){
$a = 'abc';
$b = &$a;
unset($a);
echo $b;
}
unset_example(); // echo what?
13.
14. foo()和@foo()有什么区别
15. php中object和array的相互转化
16. 用php写一个singleton
PHP高级
1. 类的静态属性和静态方法,需要通过什么样的方式去访问?(对象可以访问静态方法,不能访问静态成员?)
2. this ,self和parent的区别是什么?
3. 定义常量的方式有几种?都有什么区别? (define和const的区别是什么?)
4. PDO是什么?有什么作用?
5. php 与 ngixn 和apache之间关系是什么?
6. 如何实现php的数组?
7. include和require有什么异同点,还有哪些函数可以加载外表类库com_load, dotnet_load
8. MVC, php框架,route
网友评论