这里收集整理了关于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()基础上增加了一些可选项
4.PHP中的非静态方法可以通过静态调用吗,反之呢?
其实问题是问没有通过static定义的方法,能否通过”对象名::方法名“这样的形式来调用。答案是会产生一个strict错误,但在会继续执行代码。
反之,能否通过“对象名->方法名“的形式来调用static定义的方法?答案是不能,会出错并中断程序执行。