分类 函数 语法 功能 备注
PHP系统函数 var_dump() var_dump(
a)输出相关详细信息echo()echo(
a
)
输
出
相
关
详
细
信
息
e
c
h
o
(
)
e
c
h
o
(
a) 输出
isset() isset(
a)检测变量是否设置或者是否为NULL不是NULL时返回TRUE,反之返回FALSEunset()unset(
a
)
检
测
变
量
是
否
设
置
或
者
是
否
为
N
U
L
L
不
是
N
U
L
L
时
返
回
T
R
U
E
,
反
之
返
回
F
A
L
S
E
u
n
s
e
t
(
)
u
n
s
e
t
(
a) 删除变量
empty() empty() 检测是否为空 “”,0,”0”,NULL,FALSE,array()都视为空,0.0不为空
exit() exit(“信息”) 输出一条信息同时退出当前脚本 等同于die()
die() die(“信息”) 输出一条信息同时退出当前脚本 等同于exit()
iconv() iconv(incharset,putcharset,
str)字符按照指定编码进行转换gdinfo()gdinfo()取当前安装的gd库的信息uniqid()uniqid(‘前缀名′,TRUE)获取一个有前缀名的唯一id可以不加参数finfoopen()finfoopen()获取一个fileinfo资源常配合常量”FILEINFOMIMETYPE”使用finfofile()finfofile(
s
t
r
)
字
符
按
照
指
定
编
码
进
行
转
换
g
d
i
n
f
o
(
)
g
d
i
n
f
o
(
)
取
当
前
安
装
的
g
d
库
的
信
息
u
n
i
q
i
d
(
)
u
n
i
q
i
d
(
‘
前
缀
名
′
,
T
R
U
E
)
获
取
一
个
有
前
缀
名
的
唯
一
i
d
可
以
不
加
参
数
f
i
n
f
o
o
p
e
n
(
)
f
i
n
f
o
o
p
e
n
(
)
获
取
一
个
f
i
l
e
i
n
f
o
资
源
常
配
合
常
量
”
F
I
L
E
I
N
F
O
M
I
M
E
T
Y
P
E
”
使
用
f
i
n
f
o
f
i
l
e
(
)
f
i
n
f
o
f
i
l
e
(
filename) 获取文件信息
gettype() gettype(
a)获取数据类型settype()settype(
a
)
获
取
数
据
类
型
s
e
t
t
y
p
e
(
)
s
e
t
t
y
p
e
(
a,”string/integer…”) 设置数据类型 可取值:array,boolean,float,integer,null,object,string
serialize() serialize(array/object) 序列化
unserialize() unserialize(str) 反序列化
getcwd() getcwd() 获取当前工作目录
spl_autoload_register() spl_autoload_register(函数名) 注册给定的函数作为 __autoload 的实现
parse_url() parse_url(
str) 反序列化 getcwd() getcwd() 获取当前工作目录 spl_autoload_register() spl_autoload_register(函数名) 注册给定的函数作为 __autoload 的实现 parse_url() parse_url(
url) 解析 URL,返回其组成部分(数组)
basename() basename(
url)返回路径的中文部分pregmatch()pregmatch(
u
r
l
)
返
回
路
径
的
中
文
部
分
p
r
e
g
m
a
t
c
h
(
)
p
r
e
g
m
a
t
c
h
(
string,正则表达式,
arr)
a
r
r
)
arr为返回结果,是一个索引数组
url_encode() url_encode(
url)编码url地址Ajax中特殊字符使用urldecode()urldecode(
u
r
l
)
编
码
u
r
l
地
址
A
j
a
x
中
特
殊
字
符
使
用
u
r
l
d
e
c
o
d
e
(
)
u
r
l
d
e
c
o
d
e
(
url) 解码url地址
常量函数 define() define(常量名值,[TRUE]) 定义常量 第三个参数[TRUE]代表不区分大小写,省略时区分大小写,常量名要加引号
defined() defined(常量名) 判断是否是常量 返回值为布尔值,常量名要加引号
get_defined_constants()
n=getdefinedconstants()获得所有预定义常量返回所有预定义常量的关联数组,键是常量名,值为常量值判断函数isbool()isbool(
n
=
g
e
t
d
e
f
i
n
e
d
c
o
n
s
t
a
n
t
s
(
)
获
得
所
有
预
定
义
常
量
返
回
所
有
预
定
义
常
量
的
关
联
数
组
,
键
是
常
量
名
,
值
为
常
量
值
判
断
函
数
i
s
b
o
o
l
(
)
i
s
b
o
o
l
(
a) 判断是否为布尔类型 返回值为布尔值
is_int() is_int(
a)判断是否为整型返回值为布尔值isstring()isstring(
a
)
判
断
是
否
为
整
型
返
回
值
为
布
尔
值
i
s
s
t
r
i
n
g
(
)
i
s
s
t
r
i
n
g
(
a) 判断是否为字符串类型 返回值为布尔值
is_float() is_float(
a)判断是否为浮点型返回值为布尔值isnumeric()isnumeric(
a
)
判
断
是
否
为
浮
点
型
返
回
值
为
布
尔
值
i
s
n
u
m
e
r
i
c
(
)
i
s
n
u
m
e
r
i
c
(
a) 判断是否为数字或者数字字符串 返回值为布尔值
is_null() is_null(
a)判断是否为空返回值为布尔值isarray()isarray(
a
)
判
断
是
否
为
空
返
回
值
为
布
尔
值
i
s
a
r
r
a
y
(
)
i
s
a
r
r
a
y
(
a) 判断是否为数组 返回值为布尔值
is_dir() is_array(
a)判断是否为路径返回值为布尔值进制转换函数decbin()decbin(
a
)
判
断
是
否
为
路
径
返
回
值
为
布
尔
值
进
制
转
换
函
数
d
e
c
b
i
n
(
)
d
e
c
b
i
n
(
num) 十进制转换为二进制
decoct() decoct(
num)十进制转换为八进制dechex()dechex(
n
u
m
)
十
进
制
转
换
为
八
进
制
d
e
c
h
e
x
(
)
d
e
c
h
e
x
(
num) 十进制转换为十六进制
bindec() bindec(
num)二进制转换为十进制octdec()octdec(
n
u
m
)
二
进
制
转
换
为
十
进
制
o
c
t
d
e
c
(
)
o
c
t
d
e
c
(
num) 八进制转换为十进制
hexdec() hexdec(
num)十六进制转换为十进制baseconvert()baseconvert(
n
u
m
)
十
六
进
制
转
换
为
十
进
制
b
a
s
e
c
o
n
v
e
r
t
(
)
b
a
s
e
c
o
n
v
e
r
t
(
num,frombase,tobase) 任意进制转换 由原进制(frombase)转换为目标进制(tobase)
字符串函数 strpos() strpos(
str,
s
t
r
,
a) 获得变量
a在字符串
a
在
字
符
串
str中第一次出现的位置(下标) 判断取得下标为0时用”===”否则会和返回FALSE冲突
strripos() strripos(
str,
s
t
r
,
a) 获得变量
a在字符串
a
在
字
符
串
str中最后一次出现的位置(下标) 不区分大小写
strrpos() strrpos(
str,
s
t
r
,
a) 获得变量
a在字符串
a
在
字
符
串
str中最后一次出现的位置(下标)
strstr() strstr(
str,
s
t
r
,
a) 查找字符串的首次出现,返回
a及后面内容有第三个参数“true”时返回
a
及
后
面
内
容
有
第
三
个
参
数
“
t
r
u
e
”
时
返
回
a前面的内容
implode() implode(“,”,
arr)用,把数组连接成字符串“,”也会加入到字符串中explode()explode(“,”,
a
r
r
)
用
,
把
数
组
连
接
成
字
符
串
“
,
”
也
会
加
入
到
字
符
串
中
e
x
p
l
o
d
e
(
)
e
x
p
l
o
d
e
(
“
,
”
,
str) 把字符串转为数组 字符串中没有“,”时,整个字符串转换为1个元素的数组
str_split() str_split(
str,5)把字符串分割为数组,每个单元长度为5strreplace()strreplace(a,b,
s
t
r
,
5
)
把
字
符
串
分
割
为
数
组
,
每
个
单
元
长
度
为
5
s
t
r
r
e
p
l
a
c
e
(
)
s
t
r
r
e
p
l
a
c
e
(
a
,
b
,
str) 将字符串
str中的a用b替换print()print(
s
t
r
中
的
a
用
b
替
换
p
r
i
n
t
(
)
p
r
i
n
t
(
str) 原样输出 区分单引号和双引号
printf() printf(
str)输出格式化字符串返回值为格式化字符串长度sprintfsprintf(
s
t
r
)
输
出
格
式
化
字
符
串
返
回
值
为
格
式
化
字
符
串
长
度
s
p
r
i
n
t
f
s
p
r
i
n
t
f
(
str) 输出格式化字符串(不直接输出) 返回值为格式化的字符串
strtolower() strtolower(
str)字符串转换为小写strtoupper()strtoupper(
s
t
r
)
字
符
串
转
换
为
小
写
s
t
r
t
o
u
p
p
e
r
(
)
s
t
r
t
o
u
p
p
e
r
(
str) 字符串转换为大写
ucfirst() ucfirst(
str)字符串第一个字符转换为大写unwords()unwords(
s
t
r
)
字
符
串
第
一
个
字
符
转
换
为
大
写
u
n
w
o
r
d
s
(
)
u
n
w
o
r
d
s
(
str) 将字符串中每个单词的首字母转换为大写
trim() trim(
str)去除字符串两端的空白字符和其他字符包括:”“,”\t”,”\n”,”\r”,”\0”,”\0xB”rtrim()rtrim(
s
t
r
)
去
除
字
符
串
两
端
的
空
白
字
符
和
其
他
字
符
包
括
:
”
“
,
”
\t
”
,
”
\n
”
,
”
\r
”
,
”
\0
”
,
”
\0
x
B
”
r
t
r
i
m
(
)
r
t
r
i
m
(
str) 去除字符串右侧的空白字符和其他字符 包括:” “,”\t”,”\n”,”\r”,”\0”,”\0xB”
strlen() strlen(
str)获取字符串长度substrcount()substrcount(
s
t
r
)
获
取
字
符
串
长
度
s
u
b
s
t
r
c
o
u
n
t
(
)
s
u
b
s
t
r
c
o
u
n
t
(
str,"
a”)统计字符串中一个字符串
a
”
)
统
计
字
符
串
中
一
个
字
符
串
a出现的次数
substr() substr(
str,
s
t
r
,
start,
length)截取字符串
l
e
n
g
t
h
)
截
取
字
符
串
start为负数时:从 结尾处向前数第 start 个字符开始截取;
length为负数时,字符串尾部
l
e
n
g
t
h
为
负
数
时
,
字
符
串
尾
部
length个字符将被漏掉;
length为0,FALSE,null时,返回空字符串strstr()strstr(
l
e
n
g
t
h
为
0
,
F
A
L
S
E
,
n
u
l
l
时
,
返
回
空
字
符
串
s
t
r
s
t
r
(
)
s
t
r
s
t
r
(
str,
a)获取
a
)
获
取
a在字符串中出现的位置到结尾
str_repeat() str_repeat(
str,
s
t
r
,
num) 重复输出
str,次数为
s
t
r
,
次
数
为
num
md5() md5(
str)加密字符串strpad()strpad(
s
t
r
)
加
密
字
符
串
s
t
r
p
a
d
(
)
s
t
r
p
a
d
(
str,
length,”0”,STRPADLEFT)在
l
e
n
g
t
h
,
”
0
”
,
S
T
R
P
A
D
L
E
F
T
)
在
str的左侧用0填充使其长度为
lengthstrrev()strrev(
l
e
n
g
t
h
s
t
r
r
e
v
(
)
s
t
r
r
e
v
(
str) 翻转字符串顺序
数字函数 rand() rand(m,n) 取m-n之间的整数
mt_rand() mt_rand(m,n) 取m-n之间的整数
pow() pow(m,n) 取m的n次方
number_format() number_format(
n)以千位分隔符方式格式化一个数字数组函数unset()unset(
n
)
以
千
位
分
隔
符
方
式
格
式
化
一
个
数
字
数
组
函
数
u
n
s
e
t
(
)
u
n
s
e
t
(
arr)/unset(
arr[n]) 销毁某个元素时不影响其他元素的下标arrayvalues()arrayvalues(
a
r
r
[
n
]
)
销
毁
某
个
元
素
时
不
影
响
其
他
元
素
的
下
标
a
r
r
a
y
v
a
l
u
e
s
(
)
a
r
r
a
y
v
a
l
u
e
s
(
arr) 获取数组中所有的值病重新建立数字下标 下表为:0,1,2…,如果设置参数”TRUE”则保留键
array_keys() array_keys(
arr)获取数组中所有键值若指定元素,则返回指定元素的下标isarray()isarray(
a
r
r
)
获
取
数
组
中
所
有
键
值
若
指
定
元
素
,
则
返
回
指
定
元
素
的
下
标
i
s
a
r
r
a
y
(
)
i
s
a
r
r
a
y
(
arr) 判断是否为数组 返回布尔值
in_array() in_array(
str,
s
t
r
,
arr) 判断数组
arr是否包含某个元素
a
r
r
是
否
包
含
某
个
元
素
str 返回布尔值
count() count(
arr)/count(
a
r
r
)
/
c
o
u
n
t
(
arr,1) 统计数组长度/统计多维数组长度 count(
arr,1)−count(
a
r
r
,
1
)
−
c
o
u
n
t
(
arr)为多维数组数组元素个数
implode() implode(“,”,
arr)用,把数组连接成字符串“,”也会加入到字符串中explode()explode(“,”,
a
r
r
)
用
,
把
数
组
连
接
成
字
符
串
“
,
”
也
会
加
入
到
字
符
串
中
e
x
p
l
o
d
e
(
)
e
x
p
l
o
d
e
(
“
,
”
,
str) 把字符串转为数组 字符串中没有“,”时,整个字符串转换为1个元素的数组
str_split() str_split(
str,5)把字符串分割为数组,每个单元长度为5range()例:rang(1,9)建立一个1−9的数组arraymerge()arraymerge(
s
t
r
,
5
)
把
字
符
串
分
割
为
数
组
,
每
个
单
元
长
度
为
5
r
a
n
g
e
(
)
例
:
r
a
n
g
(
1
,
9
)
建
立
一
个
1
−
9
的
数
组
a
r
r
a
y
m
e
r
g
e
(
)
a
r
r
a
y
m
e
r
g
e
(
arr,
brr…)连接多个数组为一个数组arrayrandarrayrand(
b
r
r
…
)
连
接
多
个
数
组
为
一
个
数
组
a
r
r
a
y
r
a
n
d
a
r
r
a
y
r
a
n
d
(
arr,n) 在数组中随机抽取n个单元,返回键值,成为新的数组 得到值为抽取元素的键
shuffle() shuffle(
arr)打乱数组顺序打乱顺序后的数组为索引数组,键为1,2,3…each()each(
a
r
r
)
打
乱
数
组
顺
序
打
乱
顺
序
后
的
数
组
为
索
引
数
组
,
键
为
1
,
2
,
3
…
e
a
c
h
(
)
e
a
c
h
(
arr) 返回数组中当前元素的 键/值对 并将数组指针自动向前移动一步 返回的数组为混合数组,使用时配合list()使用
list() list(
a,
a
,
b,
c)=
c
)
=
arr 批量赋值 只对标准索引数组起作用,使用时配合list()使用
print_r() print_r(
arr)输出数组的简单信息arrayunshift()arrayunshift(
a
r
r
)
输
出
数
组
的
简
单
信
息
a
r
r
a
y
u
n
s
h
i
f
t
(
)
a
r
r
a
y
u
n
s
h
i
f
t
(
arr,
v1,
v
1
,
v2…) 在数组开头插入一个或多个单元 数值键名将修改为从零开始重新计数,所有的文字键名保持不变
array_push() array_push(
arr,
a
r
r
,
v1,
v2…)在数组最后插入一个或多个单元arrayshift()arrayshift(
v
2
…
)
在
数
组
最
后
插
入
一
个
或
多
个
单
元
a
r
r
a
y
s
h
i
f
t
(
)
a
r
r
a
y
s
h
i
f
t
(
arr) 将数组的第一个元素移除并返回 返回值为移除的元素,原数组所有单元左移一位,且所有数字键名将改为从零开始计数;如果 array 为 空或不是一个数组则返回 NULL。
array_pop() array_pop(
arr)将数组的最后一个元素移除并返回如果array为空或不是一个数组则返回NULL。arraykeyexist()arraykeyexist(
a
r
r
)
将
数
组
的
最
后
一
个
元
素
移
除
并
返
回
如
果
a
r
r
a
y
为
空
或
不
是
一
个
数
组
则
返
回
N
U
L
L
。
a
r
r
a
y
k
e
y
e
x
i
s
t
(
)
a
r
r
a
y
k
e
y
e
x
i
s
t
(
k,
arr)判断数组中是否存在键
a
r
r
)
判
断
数
组
中
是
否
存
在
键
k
array_search() array_search(
v,
v
,
arr) 在数组中搜索给定的值,如果成功则返回相应的键名 找到第一个相应值后即停止搜索
array_flip() array_flip(
arr)交换数组的键和值arraycountvalues()arraycountvalues(
a
r
r
)
交
换
数
组
的
键
和
值
a
r
r
a
y
c
o
u
n
t
v
a
l
u
e
s
(
)
a
r
r
a
y
c
o
u
n
t
v
a
l
u
e
s
(
arr) 统计数组中所有值出现的次数 返回数组,值为键,次数为值
array_unique() array_unique(
arr)移除数组中重复的值sort()sort(
a
r
r
)
移
除
数
组
中
重
复
的
值
s
o
r
t
(
)
s
o
r
t
(
arr) 将数组按照值的大小升序排列 下标会被重置
asort() asort(
arr)将数组按照值的大小升序排列保持键/值对rsort()rsort(
a
r
r
)
将
数
组
按
照
值
的
大
小
升
序
排
列
保
持
键
/
值
对
r
s
o
r
t
(
)
r
s
o
r
t
(
arr) 将数组按照值的大小降序排列 下标会被重置
arsort arsort(
arr)将数组按照值的大小降序排列保持键/值对natsort()natsort(
a
r
r
)
将
数
组
按
照
值
的
大
小
降
序
排
列
保
持
键
/
值
对
n
a
t
s
o
r
t
(
)
n
a
t
s
o
r
t
(
arr) 自然排序(符合人们日常使用的习惯) 区分大小写
natcasesort() natcasesort(
arr)自然排序(符合人们日常使用的习惯)不区分大小写ksort()ksort(
a
r
r
)
自
然
排
序
(
符
合
人
们
日
常
使
用
的
习
惯
)
不
区
分
大
小
写
k
s
o
r
t
(
)
k
s
o
r
t
(
arr) 将数组按照键的大小升序排列 返回布尔值
krsort() krsort(
arr)将数组按照键的大小降序排列返回布尔值arraysum()arraysum(
a
r
r
)
将
数
组
按
照
键
的
大
小
降
序
排
列
返
回
布
尔
值
a
r
r
a
y
s
u
m
(
)
a
r
r
a
y
s
u
m
(
arr) 对数组中所有的值求和 返回数值
key() key(
arr)获取数组中指针的位置(键)current()current(
a
r
r
)
获
取
数
组
中
指
针
的
位
置
(
键
)
c
u
r
r
e
n
t
(
)
c
u
r
r
e
n
t
(
arr) 获取指针所在位置的值
next() next(
arr)将数组中指针后移一个位置prev()prev(
a
r
r
)
将
数
组
中
指
针
后
移
一
个
位
置
p
r
e
v
(
)
p
r
e
v
(
arr) 将数组中指针前移一个位置
reset() reset(
arr)重置数组中指针位置(指向第一个位置)end()end(
a
r
r
)
重
置
数
组
中
指
针
位
置
(
指
向
第
一
个
位
置
)
e
n
d
(
)
e
n
d
(
arr) 将数组中指针移到最后一个位置
array_reverse () 返回一个单元顺序相反的数组
时间函数 time() time() 获取当前时间戳
mktime() mktime (小时, 分钟, 秒 ,月 ,日, 年 ) 获取指定时间的时间戳
date() date(‘Y-m-d H:i:s’,
tmp)将时间
t
m
p
)
将
时
间
tmp指定格式输出
tmp为时间strtotime()strtotime(“now”)将任何英文文本的日期时间描述解析为Unix时间戳“now”可以是其他变量,返回值为秒数据库函数mysqlconnect()mysqlconnect(
t
m
p
为
时
间
s
t
r
t
o
t
i
m
e
(
)
s
t
r
t
o
t
i
m
e
(
“
n
o
w
”
)
将
任
何
英
文
文
本
的
日
期
时
间
描
述
解
析
为
U
n
i
x
时
间
戳
“
n
o
w
”
可
以
是
其
他
变
量
,
返
回
值
为
秒
数
据
库
函
数
m
y
s
q
l
c
o
n
n
e
c
t
(
)
m
y
s
q
l
c
o
n
n
e
c
t
(
host,
user,
u
s
e
r
,
pwd) 链接mysql数据库
mysql_query() mysql_query(sql语句) 发送一条 MySQL 语句 对select语句返回resource或FALSE,对其他语句返回TRUE或者
mysql_fetch_assoc() mysql_fetch_assoc(
result)在结果集中取出一行数据组成关联数组并返回,并且继续移动内部数据指针mysqlfetcharray()mysqlfetcharray(
r
e
s
u
l
t
)
在
结
果
集
中
取
出
一
行
数
据
组
成
关
联
数
组
并
返
回
,
并
且
继
续
移
动
内
部
数
据
指
针
m
y
s
q
l
f
e
t
c
h
a
r
r
a
y
(
)
m
y
s
q
l
f
e
t
c
h
a
r
r
a
y
(
result,参数) 在结果集中取出一行数据组成数组并返回,并且继续移动内部数据指针 返回的数组类型由参数决定:MYSQL_NUM:索引数组;MYSQL_ASSOC:关联数组:MYSQL_BOTH:两者都有
mysql_fetch_row() mysql_fetch_row(
result)在结果集中取出一行数据组成索引数组并返回,并且继续移动内部数据指针mysqlselectdb()mysqlselectdb(数据库名)选择数据库返回值为布尔值mysqlnumrows()mysqlnumrows(查询结果)获取查询结果记录数文件操作函数fopen()fopen(“filename”,“mode”)打开文件或者URL“打开方式:r:只读w:写入a:写入x:创建并写入r+/w+/a+/x+:读写(详细介绍见手册)”fwrite()fwrite(“filename”,”内容”)在文件中写入内容fclose()fclose(“filename”)关闭文件或URLfileputcontents()fileputcontents(“filename”,”内容”)一步写入内容不必打开文件filegetcontents()filegetcontents(“filename”,”内容”)一步读取内容不必打开文件fread()fread(“filename”,字节数)读取指定长度文件内容文件必须先用fopen()打开filesize()filesize(“filename”)获取文件内容长度(字节数)文件必须先用fopen()打开fgets()fgets(
r
e
s
u
l
t
)
在
结
果
集
中
取
出
一
行
数
据
组
成
索
引
数
组
并
返
回
,
并
且
继
续
移
动
内
部
数
据
指
针
m
y
s
q
l
s
e
l
e
c
t
d
b
(
)
m
y
s
q
l
s
e
l
e
c
t
d
b
(
数
据
库
名
)
选
择
数
据
库
返
回
值
为
布
尔
值
m
y
s
q
l
n
u
m
r
o
w
s
(
)
m
y
s
q
l
n
u
m
r
o
w
s
(
查
询
结
果
)
获
取
查
询
结
果
记
录
数
文
件
操
作
函
数
f
o
p
e
n
(
)
f
o
p
e
n
(
“
f
i
l
e
n
a
m
e
”
,
“
m
o
d
e
”
)
打
开
文
件
或
者
U
R
L
“
打
开
方
式
:
r
:
只
读
w
:
写
入
a
:
写
入
x
:
创
建
并
写
入
r
+
/
w
+
/
a
+
/
x
+
:
读
写
(
详
细
介
绍
见
手
册
)
”
f
w
r
i
t
e
(
)
f
w
r
i
t
e
(
“
f
i
l
e
n
a
m
e
”
,
”
内
容
”
)
在
文
件
中
写
入
内
容
f
c
l
o
s
e
(
)
f
c
l
o
s
e
(
“
f
i
l
e
n
a
m
e
”
)
关
闭
文
件
或
U
R
L
f
i
l
e
p
u
t
c
o
n
t
e
n
t
s
(
)
f
i
l
e
p
u
t
c
o
n
t
e
n
t
s
(
“
f
i
l
e
n
a
m
e
”
,
”
内
容
”
)
一
步
写
入
内
容
不
必
打
开
文
件
f
i
l
e
g
e
t
c
o
n
t
e
n
t
s
(
)
f
i
l
e
g
e
t
c
o
n
t
e
n
t
s
(
“
f
i
l
e
n
a
m
e
”
,
”
内
容
”
)
一
步
读
取
内
容
不
必
打
开
文
件
f
r
e
a
d
(
)
f
r
e
a
d
(
“
f
i
l
e
n
a
m
e
”
,
字
节
数
)
读
取
指
定
长
度
文
件
内
容
文
件
必
须
先
用
f
o
p
e
n
(
)
打
开
f
i
l
e
s
i
z
e
(
)
f
i
l
e
s
i
z
e
(
“
f
i
l
e
n
a
m
e
”
)
获
取
文
件
内
容
长
度
(
字
节
数
)
文
件
必
须
先
用
f
o
p
e
n
(
)
打
开
f
g
e
t
s
(
)
f
g
e
t
s
(
handle,length) 读取一行 文件必须先用fopen()打开;如果没有指定 length,则默认为 1K
fgetc() fgetc(
handle)读取一个字符文件必须先用fopen()打开file()file(“filename”)把整个文件读入一个数组中copy()copy(“filename”,”newfile”)拷贝文件,新文件名为”newfile”unlink()unlink(
h
a
n
d
l
e
)
读
取
一
个
字
符
文
件
必
须
先
用
f
o
p
e
n
(
)
打
开
f
i
l
e
(
)
f
i
l
e
(
“
f
i
l
e
n
a
m
e
”
)
把
整
个
文
件
读
入
一
个
数
组
中
c
o
p
y
(
)
c
o
p
y
(
“
f
i
l
e
n
a
m
e
”
,
”
n
e
w
f
i
l
e
”
)
拷
贝
文
件
,
新
文
件
名
为
”
n
e
w
f
i
l
e
”
u
n
l
i
n
k
(
)
u
n
l
i
n
k
(
filename) 删除文件
filectime() filectime(
filename)获取文件创建时间fileatime()fileatime(
f
i
l
e
n
a
m
e
)
获
取
文
件
创
建
时
间
f
i
l
e
a
t
i
m
e
(
)
f
i
l
e
a
t
i
m
e
(
filename) 获取文件上次访问时间
filemtime() filemtime(
filename)获取文件修改时间feof()feof(
f
i
l
e
n
a
m
e
)
获
取
文
件
修
改
时
间
f
e
o
f
(
)
f
e
o
f
(
filename) 判断指针是否到达文件末尾 到达末尾时返回TRUE,否则返回FALSE
json_encode() json_encode(
a)把数据编译成JSON数据jsondecode()jsondecode(
a
)
把
数
据
编
译
成
J
S
O
N
数
据
j
s
o
n
d
e
c
o
d
e
(
)
j
s
o
n
d
e
c
o
d
e
(
j,[false]/true) 把JSON数据反编码尾PHP数据 false:反编码成对象数据;true:反编码成数组
目录操作函数 mkdir() mkdir(“/path/to/my/dir”, 0700); 创建目录 0700:意味着最大可能的访问权
rmdir() rmdir(
DIR)删除目录目录中有文件时不能删除opendir()opendir(
D
I
R
)
删
除
目
录
目
录
中
有
文
件
时
不
能
删
除
o
p
e
n
d
i
r
(
)
o
p
e
n
d
i
r
(
dir) 打开目录句柄 此3个函数顺序不能改变(必须先打开才能读取和关闭)
readdir() readdir(
dir)读取目录closedir()closedir(
d
i
r
)
读
取
目
录
c
l
o
s
e
d
i
r
(
)
c
l
o
s
e
d
i
r
(
dir) 关闭目录
rewinddir() rewinddir(
dir)重置目录资源fileexists()fileexists(
d
i
r
)
重
置
目
录
资
源
f
i
l
e
e
x
i
s
t
s
(
)
f
i
l
e
e
x
i
s
t
s
(
filename/
dir)判断文件/目录是否存在rename()rename(
d
i
r
)
判
断
文
件
/
目
录
是
否
存
在
r
e
n
a
m
e
(
)
r
e
n
a
m
e
(
filename/
dir,
d
i
r
,
newname) 对文件/目录重命名 新名称中可以改变目录已达到移动的效果
dirname() dirname(
path)返回路径中的目录部分"
p
a
t
h
)
返
回
路
径
中
的
目
录
部
分
"
path:路径,包含文件名。
如果
path中没有/(即夏季目录),则返回”“.”“代表当前目录”basename()basename(
p
a
t
h
中
没
有
/
(
即
夏
季
目
录
)
,
则
返
回
”
“
.
”
“
代
表
当
前
目
录
”
b
a
s
e
n
a
m
e
(
)
b
a
s
e
n
a
m
e
(
path) 返回路径中的文件名部分
pathinfo() pathinfo(
path,[options])获取路径信息返回结果是字符串还是数组由options决定,详见手册图像函数imagecreateTRUEcolor()imagecreateTRUEcolor(
p
a
t
h
,
[
o
p
t
i
o
n
s
]
)
获
取
路
径
信
息
返
回
结
果
是
字
符
串
还
是
数
组
由
o
p
t
i
o
n
s
决
定
,
详
见
手
册
图
像
函
数
i
m
a
g
e
c
r
e
a
t
e
T
R
U
E
c
o
l
o
r
(
)
i
m
a
g
e
c
r
e
a
t
e
T
R
U
E
c
o
l
o
r
(
width,
height)建立一个真彩色图像imagecolorallocate()imagecolorallocate(
h
e
i
g
h
t
)
建
立
一
个
真
彩
色
图
像
i
m
a
g
e
c
o
l
o
r
a
l
l
o
c
a
t
e
(
)
i
m
a
g
e
c
o
l
o
r
a
l
l
o
c
a
t
e
(
image,R,G,B) 为图像分配颜色
imagefill() imagefill(
image,x,y,
i
m
a
g
e
,
x
,
y
,
color) 为图像填充颜色 X,为坐标
imagestring() imagestring(image, font, x, y, string, color) 设置图像上文字
imagejpeg() imagejpeg(
image,”,100)输出图像第二个参数为路径,用于保存图像,第三个参数为图片质量,取值范围:1−100,设置第三个参数时必须设置第二个参数imagepng()imagepng(
i
m
a
g
e
,
”
,
100
)
输
出
图
像
第
二
个
参
数
为
路
径
,
用
于
保
存
图
像
,
第
三
个
参
数
为
图
片
质
量
,
取
值
范
围
:
1
−
100
,
设
置
第
三
个
参
数
时
必
须
设
置
第
二
个
参
数
i
m
a
g
e
p
n
g
(
)
i
m
a
g
e
p
n
g
(
image) 输出图像
imagegif() imagegif(
image)输出图像imagedestroy()imagedestroy(
i
m
a
g
e
)
输
出
图
像
i
m
a
g
e
d
e
s
t
r
o
y
(
)
i
m
a
g
e
d
e
s
t
r
o
y
(
image) 销毁图像
imagecreatefromjpeg() imagecreatefromjpeg(
filename)基于jpeg图片创建图像imagecreatefromgif()imagecreatefromgif(
f
i
l
e
n
a
m
e
)
基
于
j
p
e
g
图
片
创
建
图
像
i
m
a
g
e
c
r
e
a
t
e
f
r
o
m
g
i
f
(
)
i
m
a
g
e
c
r
e
a
t
e
f
r
o
m
g
i
f
(
filename) 基于gif图片创建图像
imagecreatefrompng() imagecreatefrompng(
filename)基于png图片创建图像imagesx()imagesx(
f
i
l
e
n
a
m
e
)
基
于
p
n
g
图
片
创
建
图
像
i
m
a
g
e
s
x
(
)
i
m
a
g
e
s
x
(
image) 获取图片宽度
imagesy() imagesy(
image)获取图片高度imagefontwidth()imagefontwidth(
i
m
a
g
e
)
获
取
图
片
高
度
i
m
a
g
e
f
o
n
t
w
i
d
t
h
(
)
i
m
a
g
e
f
o
n
t
w
i
d
t
h
(
font) 获取字体的宽度 字体取值范围:1-5
imagefontheight() imagefontheight(
font)获取字体的高度getimagesize()getimagesize(
f
o
n
t
)
获
取
字
体
的
高
度
g
e
t
i
m
a
g
e
s
i
z
e
(
)
g
e
t
i
m
a
g
e
s
i
z
e
(
filename) 获取图像大小 返回一个数组
imagecolorallocatealpha() imagecolorallocatealpha(image, red, green, blue, alpha) 为图像分配颜色 alpha:透明度,取值:0-127
imagecopyresized() imagecopyresized(dst_image,src_image,dst_x,dst_y,src_x,src_y,dst_w,dst_h,src_w,src_h) 复制图像
imagettftext() imagettftext(image,size,angle,x,y,color,fontsize,text) 设置图像的ttf文字 size:字体大小;angle:倾斜角度;fontfile:ttf文件路径;text:文本内容
类函数 class_exists() class_exists(
classname)判断类是否存在interfaceexists()interfaceexists(
c
l
a
s
s
n
a
m
e
)
判
断
类
是
否
存
在
i
n
t
e
r
f
a
c
e
e
x
i
s
t
s
(
)
i
n
t
e
r
f
a
c
e
e
x
i
s
t
s
(
name) 判断接口是否存在
method_exists() method_exists(
name)判断方法是否存在propertyexists()property(
n
a
m
e
)
判
断
方
法
是
否
存
在
p
r
o
p
e
r
t
y
e
x
i
s
t
s
(
)
p
r
o
p
e
r
t
y
(
name) 判断属性是否存在
get_class() get_class() 获取类名称
get_parent_class() get_parent_class() 获取父类名称
get_class_methods() get_class_methods() 获取类中的方法 返回数组
get_class_vars() get_class_vars() 回由类的默认属性组成的数组 返回由类的默认公有属性组成的关联数组,此数组的元素以 varname => value 的形式存在。
get_declared_class() get_declared_class() 获取已定义的类的名称
__toString() __toString() 将对象当字符串对待时调用 魔术方法
__construct() __construct() New对象时自动调用
__destruct() __destruct() 销毁对象时自动调用
__clone() __clone() 克隆对象时自动调用
__tostring() __tostring() 将对象转换为字符串时自动调用
__invoke() __invoke() 把对象当做函数调用时自动调用
__set() __set() 给不可访问的成员属性赋值时自动调用
__get() __get() 读取不可读取的成员属性的值时自动调用
__isset() __isset() 对不可访问的成员属性使用isset()或者empty()时自动调用
__unset() __unset() 对不可访问的成员属性使用unset()时自动调
class_alias() class_alias(
classname1,
c
l
a
s
s
n
a
m
e
1
,
classname2) 为类创建一个别名
get_object_vars() get_object_vars(
obj)返回一个包含object可用的已定义属性和值的关联数组没有值的属性会被赋值NULL(私有属性和受保护属性不会返回)isa()isa(
o
b
j
)
返
回
一
个
包
含
o
b
j
e
c
t
可
用
的
已
定
义
属
性
和
值
的
关
联
数
组
没
有
值
的
属
性
会
被
赋
值
N
U
L
L
(
私
有
属
性
和
受
保
护
属
性
不
会
返
回
)
i
s
a
(
)
i
s
a
(
obj,
classname)如果对象属于该类或该类是此对象的父类则返回TRUE注意:PHP5.0.0至5.3.0删除了此函数issubclassof()issubclassof(
c
l
a
s
s
n
a
m
e
)
如
果
对
象
属
于
该
类
或
该
类
是
此
对
象
的
父
类
则
返
回
T
R
U
E
注
意
:
P
H
P
5.0.0
至
5.3.0
删
除
了
此
函
数
i
s
s
u
b
c
l
a
s
s
o
f
(
)
i
s
s
u
b
c
l
a
s
s
o
f
(
obj,$classname) 如果对象 object 所属类是类 class_name 的子类,则返回 TRUE,否则返回 FALSE。