欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

PHP常见面试问题

程序员文章站 2022-04-19 18:07:19
...
这里收集整理了关于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定义的方法?答案是不能,会出错并中断程序执行。