Home  >  Article  >  Backend Development  >  一些PHP基本常用函数(分类汇总)

一些PHP基本常用函数(分类汇总)

PHPz
PHPzOriginal
2016-06-13 10:40:35681browse

本篇文章给大家整理了常用的一些函数,并进行了分类,希望对大家有所帮助!

一些PHP基本常用函数(分类汇总)

一、数组函数

#1. 数组的创建
	array(); # 生成空数组 

    array_combine($x, $y); # 生成数组, 用 $x 数组的值作为新数组的 键名, $y 数组的值做为新数组的 值#2. 数组合并与拆分
    array_merge($x, $y, $z); # 数组合并

    array_slice($array, $start, $length); # 自定义位置截取#3. 数组的比较
    array_diff($x, $y, $z); # 返回差集

    array_intersect($x, $y, $z); # 返回交集#4. 数组的查找与替换
    array_search($search, $array); # 查找值, 存在返回键,不存在返回 false

    array_splice($search, $start, $length, $new); # 从 $search 数组中移除, 并用 $new 中新元素取代

    array_sum(); # 返回数组中所有值的总和

    array_key_exists($key, $array); # 检查 $key 的键名是否在 $array 中

    in_array($val, $array); # 检查 $val 的值是否在 $array 中#5. 数组键值操作
    count(); # 获取数组中元素的个数

    array_unique(); # 数组值去重,删除重复元素,返回剩余的数组

    array_rand($array, $length); # 从数组中随机抽取 $length 个元素, 注意: 返回的是 键名

    array_keys(); # 将数组中所有的键,组成新数组

    array_values(); # 将数组中所有的值,组成新数组

    array_flip(); # 将数组的键与值反转

    array_reverse(); # 返回翻转顺序的数组

    array_count_values(); # 统计数组中所有值出现的次数 ['A'=>3, 'B'=>4]

    shuffle($array); # 将数组中的元素打乱,重新随机排列#6. 数组指针操作
	key(); # 返回数组内部指针当前元素的键名
	
	current(); # 返回数组内部指针当前元素的值

	next(); # 把指向当前元素的指针后移一位,并返回后移后的元素的值

	prev(); # 把指向当前元素的指针前移一位,并返回前移后的元素的值

	end(); # 把数组指针指向最后一个元素,并返回该元素的值

	reset(); # 把数组指针指向第一个元素,并返回该元素的值

	array_shift(); # 删除数组中第一个元素,并返回被删除元素的值

	array_unshift($array, $value); # 在数组开头插入一个或多个元素

	array_pop(); # 删除数组中最后一个元素。

	array_push($array, $value); # # 在数组结尾插入一个或多个元素

	list(); # 用数组中的元素为一组变量赋值 例: list($a, $b, $c) = ['a', 'b', 'c'];#7. 数组排序
	sort(); # 按升序对数组的值排序,不保留原键名

	rsort(); # 按降序对数组的值排序,不保留原键名

	asort(); # 按升序对数组的值排序,保留原键名

	arsort(); # 按降序对数组的值排序,保留原键名

	ksort(); # 按升序对数组的键排序,保留原键名
	
	krsort(); # 按降序对数组的键排序,保留原键名

	natsort(); # 用自然顺序算法对数组中的值排序,保留原键名

	natcasesort(); # 用自然顺序算法对数组中的值排序,保留原键名,该函数不区分大小写

二、数学函数

abs(); # 返回数的绝对值 3.2

ceil(); # 向上取整

floor(); # 向下取整

fmod(5.4, 1.3); # 浮点数取余 0.2

max(3, 1, 5, 7); # 最大值 7

min(4, 2, 6, 8); # 最小值 2

mt_rand(1, 10); # 我这次的随机值为 382819

pow(x, y); # 返回 x 的 y 次方 例: pow(2,2);  输出 4

pi(); # 获取圆周率值, 返回值精度由 php.ini 中的 precision 指令控制, 3.1415926535898

round(); # 浮点数四舍五入

sqrt(16); # 返回数的平方根 4

三、字符函数

# 1. 字符串统计
	strlen(); # 统计字符串长度, 中文占 3 个字节

	mb_strlen(); # 统计字符串长度, 中文占 1 个字节

	str_word_count($string, $format, $characters); # 统计字符串中单词的数量, 更多用法请查阅手册


# 2. 字符串查找与替换
	str_replace($new, $old, $string); # 字符串替换操作, 区分大小写

	str_ireplace($new, $old, $string); # 字符串替换操作, 不区分大小写

	substr_replace($string, $replace, $start, $length); # 把一部分替换为另一个字符串
	
	substr_count($string, $search); # 统计一个字符串在另一字符串中出现的次数
	
	similar_text($string1, $string2, $percent); # 返回两个字符串字符串相同数量或相同百分比值

	strstr($string, $search, $before=false); # 查找字符串在另一个字符串中第一次出现的位置,并返回从该位置到字符串结尾或字符串开始的所有字符, 无则返回 FALSE, 区分大小写

	stristr($string, $search, $before=false); # 查找字符串在另一个字符串中第一次出现的位置,并返回从该位置到字符串结尾或字符串开始的所有字符, 无则返回 FALSE, 不区分大小写

	strchr($string, $search, $before=false); # strstr(); 的别名

	strrchr($string, $search); # 查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符, 无则返回 FALSE, 区分大小写
	
	strpos($string, $search, $start); # 返回字符串在另一字符串首次出现的位置, 区分大小写

	stripos($string, $search, $start); # 返回字符串在另一字符串首次出现的位置, 不区分大小写

	strrpos($string, $search, $start); # 返回字符串在另一字符串最后一次出现的位置, 区分大小写

	strripos($string, $search, $start); # 返回字符串在另一字符串最后一次出现的位置, 不区分大小写

	strspn($string, $charlist, $start, $length); # 返回在 $string 中包含 $charlist 参数中指定的字符数目。

	strcspan($string, $char, $start, $length); # 函数返回在找到任何指定的字符之前,在字符串查找的字符数(包括空格)。


# 3. 字符分割及拼接
	explode($separator, $string); # 按 $separator 分隔 $string , 打散后重新组装成数组
	
	implode($separator, $array); # 用 $separator 分隔数组中的每个值, 转换成新字符串

	substr($string, $start, $length); # 中文占 3 个字节, 在 $string 字符串中, 从 $start 位置开始, 返回 $length 长度的字符串, $length 默认直到字符串结尾

	mb_substr($string, $start, $length); # 中文占 1 个字节, 在 $string 字符串中, 从 $start 位置开始, 返回 $length 长度的字符串, $length 默认直到字符串结尾 

	chunk_split($string, $length, $separator); # 将字符串按 $length 长度分割成小块, 以 $separator 分隔, 返回新字符串

	str_split($string, $length); # 将字符串按 $length 长度分割成小块, 返回数组

# 4. 字符串比较 (两个字符串相同返回 0)
	strcmp($string1, $string2); # 比较两个字符串, 区分大小写

	strcasecmp($string1, $string2); # 比较两个字符串, 不区分大小写

	strncmp($string1, $string2, $length); # 比较两个字符串前 $length 长度, 区分大小写

	strncasecmp($string1, $string2, $length); # 比较两个字符串前 $length 长度, 不区分大小写

	strnatcmp($string1, $string2); # 使用"自然"算法来比较两个字符串, 区分大小写

	strnatcmp($string1, $string2); # 使用"自然"算法来比较两个字符串, 不区分大小写


# 5. 大小写转换
	strtolower($string); # 全部字符串转为小写

	strtoupper($string); # 全部字符串转为大写

	lcfirst($string); # 字符串首字母小写

	ucfirst($string); # 字符串首字母大写

	ucwords($string); # 字符串每个单词首字母转为大写


# 6. 生成与转化
	strrev(); # 反转字符串
	
	str_repeat($string, $multiplier); # 重复字符串 $multiplier 次

	str_pad($string, $length, $pad_string, $pad_type); # 把字符串填充指定长度, $pad_string 为填充的字符, $pad_type 为类型 (STR_PAD_RIGHT: 向右填充(默认) STR_PAD_LEFT: 向左填充 STR_PAD_BOTH: 两侧填充)

	wordwrap($string, $length); # 把字符串按指定长度折行

	str_shuffle(); # 随机打乱字符串

	number_format(); # 千位格式化数字

	parse_str(); # 把字符串解析成变量 例: parse_str("name=Chon&height=175");

	trim($string, $char); # 去除首尾处的 $char 字符, $char 默认为空格

	ltrim($string, $char) # 去除开头处的 $char 字符, $char 默认为空格
        
    rtrim($string, $char) # 去除结尾处的 $char 字符, $char 默认为空格
        

# 7. html 标签相关联函数
    htmlentities(); # 把字符转为 html 实体

	html_entity_decode(); # 把 html 实体转为字符

	htmlspecialchars(); # 预定义字符(<>&#39;"&)转 html 实体

	htmlspecialchars_decode(); # 把预定义 html 实体(&amp; &quot; &#39; &lt; &gt;) 转为字符

	nl2br(); # \n 转为 <br> 标签
	
	strip_tags(); # 去除字符串中的 html 标签

	addslashes(); # 指定预定义字符(<>&#39;"&)前添加反斜线

	stripslashes(); # 删除由 addslashes() 添加的反斜线

	addcslashes($string, $char); # 在 $string 字符串中, 在 $char 的指定字符前添加反斜线

	stripcslashes(); # 删除由 addcslashes() 添加的反斜线

	quotemeta(); # 在字符串中预定义的字符(.\+*?[]^$())前添加反斜线

	chr(); # 返回不同 ASCII 值的字符

	ord(); # 返回字符串中第一个字符的 ASCII 值

四、文件函数

# 打开文件或 URL, 更多查看手册: https://www.php.net/manual/en/function.fopen
fopen($filename, $mode, $include_path, $context);

$mode 为访问类型, 以下为可能的值

“r” (只读方式打开,将文件指针指向文件头)
“r+” (读写方式打开,将文件指针指向文件头)
“w” (写入方式打开,清除文件内容,如果文件不存在则尝试创建之)
“w+” (读写方式打开,清除文件内容,如果文件不存在则尝试创建之)
“a” (写入方式打开,将文件指针指向文件末尾进行写入,如果文件不存在则尝试创建之)
“a+” (读写方式打开,通过将文件指针指向文件末尾进行写入来保存文件内容)
“x” (创建一个新的文件并以写入方式打开,如果文件已存在则返回 FALSE 和一个错误)
“x+” (创建一个新的文件并以读写方式打开,如果文件已存在则返回 FALSE 和一个错误)

fclose(); # 关闭已打开的文件指针

# 文件属性
	clearstatcache(); # 消除运行结果的缓存

	file_exists(); # 检查文件或目录是否存在
	
	filesize(); # 取得文件大小

	filectime(); # 获取文件创建时间

	filemtime(); # 获取文件修改时间

	fileatime(); # 获取文件上次访问时间

	is_readable(); # 检查文件是否可读

	is_writable(); # 检查文件是否可写

	is_executable(); # 检查文件是否可执行

	is_file(); # 检查文件是否为常规文件

	stat(); # 获取文件大部分信息 详情看手册: https://www.php.net/manual/en/function.stat

# 文件操作
	file_get_contents(); # 将整个文件读入一个字符串

	file_put_contents($file, $data, $mode); # 将一个字符串写入文件

	fwrite($filename, $string, $length); # 将 $string 写入文件, $length 为最大写入字节数

	fread($filename, $length); # 读取打开的文件, $length 为最大读取字节数

	feof(); # 检查文件指针是否为结束位置

	fgets(); # 从文件的指针中读取一行返回

	fgetc(); # 从文件的指针中读取单个字符返回

	file(); # 把文件内容读入一个数组中

	readfile(); # 读取一个文件,将文件内容写入到输出缓冲中。

	ftell(); # 返回文件指针当前的位置

	fseek($file, $offset); # 定位文件指针到某个位置

	rewind(); # 将文件指针指向文件的开头

	flock($file, $lock); # 锁定或释放文件

# 文件上传下载
	is_uploaded_file(); # 判断文件是否是通过 HTTP POST 上传
	
	move_uploaded_file(); # 将上传的文件移动至新位置

五、目录函数

basename($path, $suffix); # 返回路径中的文件名部分, 如果指定 $suffix , 则不显示扩展名

dirname(); # 返回路径中的目录部分

pathinfo(); # 返回文件路径的信息

mkdir(); # 新建目录

rmdir(); # 删除目录

unlink(); # 删除文件

copy($file, $to_file); # 拷贝文件

rename($oldname, $newname); # 重命名一个文件或目录

opendir(); # 打开目录句柄

readdir(); # 从目录句柄中读取条目

closedir(); # 关闭目录句柄

rewinddir(); # 倒回目录句柄

六、时间函数

date_default_timezone_set("Asia/Shanghai"); # 设置默认时区, 时区表链接: https://www.php.net/manual/en/timezones.php

date_default_timezone_get(); # 获取默认时间值

time(); # 返回当前的 Unix 时间戳

microtime(); # 返回当前 Unix 时间戳的微秒数

date($format, $timestamp); # 格式化一个本地时间/日期 例: date("Y-m-d H:i:s", time());

getdate($timestamp); # 返回时间戳的时间日期的信息, 格式为关联数组

strtotime(); # 将字符串解析为 Unix 时间戳

# strtotime 案例
strtotime(&#39;now&#39;);

strtotime(&#39;+1 day&#39;);

strtotime(&#39;+1 week 2 days 3 hours 4 seconds&#39;);

strtotime(&#39;next Monday&#39;);

strtotime(&#39;last Monday&#39;);

                 

推荐学习:《PHP视频教程

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn