PHP面试基础知识

211 阅读1分钟

PHP 常量数据类型

PHP三大数据类型

  1. 标量.( int float doubler string bool )
  2. 复合. (array Object)
  3. 特殊 (Null Resources)

浮点类型

浮点类型不能运用于相等的精确计算,因为二进制转换会丢失一定的精度

$a=0.1;
$b=0.7;
if($a+$b==0.8){
    echo true;
}

布尔类型

FALSE 的七种情况

  1. 整型 0
  2. 浮点数0.0
  3. 布尔 false
  4. 空字符串 ''
  5. 字符串 '0'
  6. 空数组 array()
  7. NULL

数组类型

超全局数组

$GLOBALS、$_GET,$_POST,$_REQUEST,$_SESSION,$_COOKIE,$_SERVER,$_FILES,$_ENV

注意点
GLOBALS包含后面所有超全局数组GLOBALS 包含后面所有超全局数组 _REQUEST包含了GET_GET _POST $_COOKIE 尽量少用 不安全

$_SERVER

SERVER_ADDR=服务器端IP地址
SERVER_NAME= 服务器名称
REQUEST_TIME= 请求时间
QUERY_STRING= 路径
HTTP_REFERER= 上级请求页面
HTTP_USER_AGENT= 请求头信息
REMOTE_ADDR= 客户端IP地址
REQUEST_URI= 脚本名称
PATH_INFO=  url 路径部分

NULL

三种情况

  1. 直接复制
  2. 未定义变量
  3. unset销毁后的变量

常量

定义方式

  1. const (更快,是语言结构 | 可以定义类的常量)
  2. define(是个函数 | 不能定义类的常量)
    一经定义不可被修改,删除

预定义常量

  1. FILE 返回文件路径名 文件名称
  2. LINE 所在行的行号
  3. DIR 所在目录
  4. FUNCTION 所在函数体函数名称
  5. CLASS 类名
  6. TRAIT 版本特性
  7. METHOD 类名+方法名
  8. NAMESPACE namespace 名称

运算符考点

PHP错误控制符

@ 当期放置在一个PHP表达式之前,该表达式可能产生的任何错误都会被忽略掉

运算符考点

运算符优先级

递增/递减>!>算术运算符>大小比较>(不)相等比较>引用>位运算符(^)>位运算符(|)>逻辑与>逻辑或>三目>赋值>and>xor>or

比较运算符

== 和 === 的区别

递增/递减运算符

递增递减不影响布尔值 递减NULL没效果 递增NULL 值为1

逻辑运算符

  1. 短路作用
  2. ||和&& 与or 和and的优先级不同
$a=false || true; // true
$b=false || true;// false

未完,持续更新 博客地址