PHP常见面试问题

这里收集整理了关于PHP面试的题目,也包括一些阿土自己在阅读和学习中碰到的问题的记录,希望对正在求职的你或希望提高PHP能力的你有所帮助。

1.PHP里面是区分大小写的吗?

这是个很不好回答的问题,PHP对于系统函数、用户自定义函数、类名称等是不区分大小写的如可以用EHCO也可以用echo调用显示函数,但对于变量名称又是区分大小写的,如$Name和$NAME是2个不同的变量。而对于文件名又因服务器操作系统而定,linux中区分,Win不区分

2.php://input和$_POST有什么区别??

$_POST 与 php://input可以取到值,$HTTP_RAW_POST_DATA 为空
$_POST 以关联数组方式组织提交的数据,并对此进行编码处理,如urldecode,甚至编码转换。
php://input 可通过输入流以文件读取方式取得未经处理的POST原始数据
php://input 允许读取 POST 的原始数据。和 $HTTP_RAW_POST_DATA 比起来,它给内存带来的压力较小,并且不需要任何特殊的 php.ini 设置。php://input 不能用于 enctype="multipart/form-data"。

3.mysqli_real_connect()和mysqli_connect()有啥区别?

  • mysqli_real_connect()需要一个被mysqli_init()创建的有效对象
  • 在连接之前可以通过mysqli_options()来设置一些选项(例如连接超时,自动提交之类)
  • 还多了个flags来设置一些不同的选项

上述是官方对这个区别的解释,其实说白了,就是在mysqli_connect()基础上增加了一些可选项

参考:http://cn.php.net/manual/zh/mysqli.real-connect.php

 

4.PHP中的非静态方法可以通过静态调用吗,反之呢?

其实问题是问没有通过static定义的方法,能否通过”对象名::方法名“这样的形式来调用。答案是会产生一个strict错误,但在会继续执行代码。

反之,能否通过“对象名->方法名“的形式来调用static定义的方法?答案是不能,会出错并中断程序执行。

posted @ 2011-12-15 13:07  涂文瀚  阅读(7978)  评论(0编辑  收藏  举报
foot