0
点赞
收藏
分享

微信扫一扫

chatgpt提问技巧

花姐的职场人生 2023-07-03 阅读 84

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 才得到值。
举报

相关推荐

0 条评论