FALSE的七种情况
0, 0.0, ' ', '0', false, array(), NULL
超全局数组
$GLOBALS, $_GET, $_POST, $_SERVER, $_REQUEST, $_SESSION, $_COOKIE, $_FILES, $_ENV
$_SERVER['SERVER_ADDR'] 服务器Ip地址
$_SERVER['SERVER_NAME'] 服务器名称
$_SERVER['REQUEST_TIME'] 启动时间
$_SERVER['QUERY_STRING'] url?后边内容
$_SERVER['HTTP_REFERER'] 上级请求页面
$_SERVER['REMOTE_ADDR'] 客户端IP地址
$_SERVER['PATH_INFO'] URL路径部分
NULL三种情况
1. 直接赋值 2. 未定义的变量 3. unset销毁的变量
null + null = 1
常量的定义方式
const更快是语言结构, define是函数
const可以定义类的常量, define不可以
const const 常量名=值; 没有$符
define define('ABC', 123)
预定义常量
__FILE__ 返回文件路径名和文件名称
__LINE__ 所在行号
__DIR__ 所在目录
__FUNCTION__ 所在的函数体
__CLASS__ 所在的类名
__METHOD__ 类名和方法名
__NAMESPACE__ namespace名称
@PHP错误控制符
结果 $a =1, $b = 1
include和require
如果加载文件不存在include发出一条警告程序继续运行
require发出一个致命错误, 停止运行
目录的遍历
魔术方法
__construct() 实例化一个类之前先执行构造方法
__destruct() 在销毁一个类之前执行执行析构方法
__call() 调用一个对象中不存在或被权限控制中的方法,__call 方法将会被自动调用
__get() 读取不可访问属性的值时,__get() 会被调用
__set() 用来设置私有属性, 给一个未定义的属性赋值时,此方法会被触发
__isset() 当在类外部使用isset()函数来测定对象里面的私有成员是否被设定时,就会自动调用类里面的__isset()
__unset() 当删除一个不存在或者权限不够的属性的时候会自动触发
__sleep() 当在类外部使用serialize()时会调用这里的__sleep()方法
__clone() 当对象克隆的时候自动加载此方法