第一种特殊类型—资源
文件
if( file_exists("test.txt")){ //判断文件是否存在
echo 'file text.txt exists';
}else{
echo 'file text.txt doesn\'t exist';
}
$file = fopen("test.txt","r"); //成功则返回一个文件指正资源,失败返回false
if($file){
while(!feof($file)){ //判断是否最后一行
$line = fgets($file); //读取一行数据
echo $line;
}
}
fclose($file);
空类型NULL
不区分大小写
变量直接被赋为null,未被赋值,或者被unset()
error_reporting(0); //禁止PHP警告提示
常量
bool define(string $constant_name, mixed $value[, $case_sensitive = true])
constant_name 标志名
value
case_sensitive 是否大小写敏感,默认为false
echo __FILE__; //文件名
echo __LINE__; //当前行号
echo PHP_VERSION; //php版本
echo PHP_OS; //运行系统
//mixed constant(sring name); 获取常量,name为常量的名字,可为储存常量名的变量,使用更灵活
bool defined(string constants_name)
判断常量名是否已被定义
运算符
赋值方式
PHP有两种赋值方式:用“=” 或“&”
“=”:内容赋值
“&”:引用赋值(类似于C语言的指针)
比较运算符
“===” 全等
“!==” 非全等
“<>” 不等于
函数
函数可通过存放函数名的变量来调用
取整
//ceil()函数为进一取整函数,如
$n = ceil(5/4); //结果为2
//floor舍去取整
$m = floor(11/4); //2
//round 四舍五入
$m = round(11/4); //3
时间函数
date_default_timezone_set('Asia/Guangzhou')
设置时区(不区分大小写)
date('y-m-d')
获取日期(年份只有后两位)
字符串函数
trim(str)
去除字符串空格
rtrim(str)
去除字符串右端空格
ltrim(str)
去除字符串左端空格
strlen(str)
英文字符串长度
mb_strlen(str, charset)
中文字符串长度(空格也算一个单位,不加编码按英文计算)
substr(str, offset, len)
字符串截取(str,原字符串;offset, 开始截取位置;len,截取长度)
mb_substr(str, offset, len, charset)
截取中文字符串函数(同样,不加编码按英文单位截取)
strpos(str, aim_str, offset)
从字符串str中查找aim_str,(offset为起始位置,可选),返回查找的字符串第一个字母的索引,查找不到返回false
str_replace(string subStr, string newSubStr, string str)
字符串替换函数
sprintf('%01.2f',$str)
格式化字符串
implode(分隔符,array)
合并数组为字符串
explode(分隔符,str)
将字符串分割为一个数组
addslashes(str)
为字符串特殊的特殊字符加上转义符并返回转义后的字符串
其他函数
rand(a, b)
产生a~b间的随机数
isset()
判断一个属性是否设置
function_exists(string function_name)
判断函数是否存在
print_r(array)
打印数组
类和对象
类可通过存放类名的变量来使用
构造函数和析构函数
function __construct(){} //对象创建时调用
function __destruct(){} //对象销毁是调用
//子类如果定义了构造函数则不会调用父类的构造函数,要调用父类的构造函数:
parent::__construct();
static 关键字
静态变量不允许对象使用操作符->调用
静态方法静态变量都可通过 类名:: 来调用
静态方法中不允许使用$this, 可以使用self , parent, static 在内部调用静态方法和属性
对象的序列化和反序列化
$car = new Car();
$str = serialize($car);
$str_reverse = unserialize($str);
var_dump($str_reverse);
其他特性
‘==’ 判断两个对象的值是否相等
‘===’ 判断两个对象是否同一个引用(类似于C语言的指针)