PHP 面试常见对比

简介: PHP 面试常见对比

define() 与 const 区别

  • 两者都是定义常量使用
  • const 是语言结构, define 是函数
  • const 可在类中使用, define 不可以
  • const 可以不同命名空间定义相同名称的常量, define 不可以
  • const 大小写敏感, define 默认敏感, 可通过第三个参数为 true 设置为不敏感

include 和 require 的区别是什么?

  • require 是无条件包含, 也就是如果一个流程里加入 require , 无论条件成立与否都会先执行 require , 当文件不存在或者无法打开的时候, 会提示错误, 并且会终止程序执行
  • include有返回值, 而require没有 (可能因为如此 require 的速度比 include 快), 如果被包含的文件不存在的话, 那么会提示一个错误, 但是程序会继续执行下去

单引号与双引号的区别

  • 单引号不解析变量,双引号解析变量
  • 单引号只可解析单引号及转义符本身,双引号可解析更多的特殊字符。例: \n、\r、\t
  • 解析速度不同,因单引号不考虑变量解析,所以比双引号要快

传值与传引用的区别

  • 按值传递 :函数范围内对值的任何改变在函数外部都会被忽略
  • 按引用传递 :函数范围内对值的任何改变在函数外部也能反映出这些修改, 因为传引用传的是内存地址。
  • 优缺点:按值传递时, php 必须复制值。特别是对于大型的字符串和对象来说, 这将会是一个代价很大的操作。按引用传递则不需要复制值, 对于性能提高很有好处。

echo、print、print_r、var_dump 的区别

  • print_r 与 var_dump 是函数, echo、print 是语句
  • echo 用于输出数值变量或字符串,可以逗号分隔输出多个。数组输出 Array, 对象报错。例: echo $a, $b;
  • print 用于输出数值变量或字符串, 不可输出多个。数组输出 Array, 对象报错。例: print $a;
  • print_r 可简单输出 字符串、数字、数组、对象, 但 布尔(false)、null 都是打印 \n
  • var_dump 可输出所有字符串、数字、布尔、数组、对象。包括键、值、类型、长度。

isset 与 empty 的区别

  • isset 检测变量是否设置并且非 NULL
  • empty 检测变量的值是否为 false, PHP 中 0、false、[]、‘0’ 、‘’ 所代表的布尔值都是 false

for 与 foreach 的区别,哪个更快?为什么?

  • for 需要预先知道数组的长度, foreach 不需要
  • foreach 效果要比 for 高,foreach 直接通过结构体中的 next 指针获取下一个值, 而 for 循环需要根据 key 先进行一次 hash 才得到值。
目录
相关文章
|
缓存 算法 Java
PHP面试总结
PHP面试总结
112 0
|
SQL 设计模式 安全
php面试问题
php面试问题
73 0
|
Unix PHP
搞定PHP面试 - 深入了解引用
1. 什么是引用 在 PHP 中引用是指用不同的名字访问同一个变量内容。 PHP 中的变量名和变量内容是不一样的, 因此同样的内容可以有不同的名字。 最接近的比喻是 Unix 的文件名和文件本身——变量名是目录条目,而变量内容则是文件本身。引用可以被看作是 Unix 文件系统中的硬链接。 PHP 中的引用并不像 C 的指针:例如你不能对他们做指针运算。引用并不是实际的内存地址,而是符号表别名。
|
存储 安全 Unix
[Cookie,Session,浏览器,UNIX,PHP]PHP面试中会话控制的内容介绍
  一、session   PHP的会话也称为Session。PHP在操作Session时,当用户登录或访问一些初始页面时服务器会为客户端分配一个SessionID。SessionID是一个加密的随机数字,在Session的生命周期中保存在客户端。它可以保存在用户机器的Cookie中,也可以通过URL在网络中进行传输。   用户通过SessionID可以注册一些特殊的变量,称为会话变量,这些变量的数据保存在服务器端。在一次特定的网站连接中,如果客户端可以通过Cookie或URL找到SessionID,那么服务器就可以根据客户端传来的SessionID访问会话保存在服务器端的会话变量。
134 0
|
PHP SQL 存储
PHP面试宝典
一个朋友在千锋学习的PHP,他们内部有一个面试宝典,后来这哥们月薪拿到了一万多。我把内部的面试宝典拿出来跟大家一起分享,希望帮助到还在找工作的朋友们。
2807 0
|
SQL 存储 PHP
|
SQL PHP 数据库