php面试常见题及答案

如何直接将输出显示给浏览器?

将输出直接显示给浏览器,我们必须使用特殊标记 <?=and?>。

PHP 是否支持多重继承?

PHP 只支持单继承。PHP 的类使用关键字 extends 继承另一个类

获取图片属性(size, width, 和 height)的函数是什么?

获取图片大小 size:getimagesize ();获取图片宽度 width:imagesx ();获取图片高度 height:imagesy ()。

如何使用 PHP 脚本 连接 MySQL 数据库?

为了连接到 MySQL 数据库,必须使用 mysql_connect () 函数:
<!--?php $database = mysqli_connect("HOST", "USER_NAME", "PASSWORD"); mysqli_select_db($database,"DATABASE_NAME"); ?-->

如何使用 POST 方法访问通过 URL 发送的数据?

要访问以这种方式发送的数据,请使用 $ _POST 数组。想象一下,当用户单击「提交到帖子」表单时,表单上有一个名为「var」的表单字段,然后您可以像这样访问值:
$_POST["var"];

解释你对 PHP 进行更改时如何更新 Memcached?

当 PHP 更改时,您可以通过以下方式更新 Memcached
  • 动清除缓存: 进行插入或更新时清除缓存
  • 重置缓存: 与第一种方法类似,但不仅仅是删除键并等待下一个数据刷新缓存的请求,而是在插入或更新后重置值。

解释是否可以在多个 PHP 项目之间共享单个 memcache 实例?

是的,可以在多个项目之间共享一个 Memcache 实例。 Memcache 是​​一个内存存储空间,您可以在一个或多个服务器上运行 memcache。您还可以将客户端配置为与特定实例集进行对话。因此,您可以在同一主机上运行两个不同的 Memcache 进程,但它们是完全独立的。除非您已经对数据进行了分区,否则有必要知道从哪个实例获取数据或将数据放入哪个实例。

for 和 foreach 有什么区别?

for 表示如下:
for (expr1; expr2; expr3)
expr1 在开头执行一次。 在每次迭代中,expr2 都会被评估。 如果评估结果是 TRUE, 循环继续, 并执行 for 中的语句。 如果评估结果是 FALSE, 循环结束。expr3 在每次迭代结束时进行测试。

但是,foreach 提供了一种遍历数组的简便方法,并且仅与数组和对象一起使用。

如何在 PHP 中强制转换类型?

输出类型的名称必须在要强制转换的变量前的括号中指定,如下所示:
  • (int), (integer) - 强制转换为整型
  • (bool), (boolean) - 强制转换为布尔值
  • (float), (double), (real) - 强制转换为浮点型
  • (string) - 强制转换为字符串
  • (array) - 强制转换为数组
  • (object) - 强制转换为对象

用于哈希密码最便捷的哈希方法是什么?

最好使用本身支持几种哈希算法的 crypt () 或支持比 crypt () 更多变体的函数 hash (),而不是使用常见的哈希算法,如 MD5、SHA1 或 sha256,因为它们被认为是存在安全问题的。因此,使用这些算法的哈希密码可能会产生漏洞。

函数中的静态变量有什么用?

静态变量仅在函数中首次定义,并且其值可以在函数调用期间进行如下修改:
<!--?php function testFunction() { static $testVariable = 1; echo $testVariable; $testVariable++; } testFunction(); //1 testFunction(); //2 testFunction(); //3 ?-->

最后,祝所有大家在面试中过关斩将,拿到心仪offer。