PHP常用函数总结
数学函数
1.abs(): 求绝对值
$abs = abs(-4.2); //4.2 数字绝对值数字
2.ceil(): 进一法取整
echo ceil(9.999); // 10 浮点数进一取整
3.floor(): 舍去法取整
echo floor(9.999); // 9 浮点数直接舍去小数部分
4.fmod(): 浮点数取余
5.pow(): 返回数的n次方
echo pow(-1,20); // 1 基础数|n次方乘方值
6.round(): 浮点数四舍五入
echo round(1.95583,2); // 1.96,一个数值|保留小数点后多少位,默认为0 舍入后的结果
7.sqrt(): 求平方根
echo sqrt(9); //3 被开方的数平方根
8.max(): 求最大值
echo max(1,3,5,6,7); // 7
多个数字或数组 返回其中的最大值
echo max(array(2,4,5)); // 5
9.min(): 求最小值
输入: 多个数字或数组
输出: 返回其中的最小值
10.mt_rand(): 更好的随机数
输入: 最小|最大,输出: 随机数随机返回范围内的值
echo mt_rand(0,9);//n
11.rand(): 随机数 输入: 最小|最大,输出: 随机数随机返回范围内的值
12.pi(): 获取圆周率值
去空格或或其他字符:
13.trim(): 删除字符串两端的空格或其他预定义字符
输入: 目标字符串 返回值: 清除后的字符串
14.rtrim(): 删除字符串右边的空格或其他预定义字符
15.chop(): rtrim()的别名
16.ltrim(): 删除字符串左边的空格或其他预定义字符
<div class=”jb51code”>
<pre class=”brush:php;”>
$str = “\r\nHello World!”;
echo ltrim($str);
17.dirname(): 返回路径中的目录部分
echo dirname(“c:/testweb/home.php”); //c:/testweb
输入: 一个包含路径的字符串 返回值: 返回文件路径的目录部分
字符串生成与转化:
18.str_pad(): 把字符串填充为指定的长度
输入: 要填充的字符串|新字符串的长度|供填充使用的字符串,默认是空白
输出: 完成后的字符串
19.str_repeat(): 重复使用指定字符串
echo str_repeat(“.”,13); // 要重复的字符串|字符串将被重复的次数13个点
20.str_split(): 把字符串分割到数组中
print_r(str_split(“Hello”));
输入: 要分割的字符串|每个数组元素的长度,默认1
输出: 拆分后的字符串数组
21.strrev(): 反转字符串
echo strrev(“Hello World!”); // !dlroW olleH
输出: 目标字符串颠倒顺序后的字符串
22.wordwrap(): 按照指定长度对字符串进行折行处理
输入: 目标字符串|最大宽数
输出: 折行后的新字符串
23.str_shuffle(): 随机地打乱字符串中所有字符
echo str_shuffle(“Hello World”);
输入: 目标字符串顺序 输出: 打乱后的字符串
24.parse_str(): 将字符串解析成变量
输入: 要解析的字符串|存储变量的数组名称
输出: 返回Array( [id] => 23 [name] => John Adams)
25.number_format(): 通过千位分组来格式化数字 输入: 要格式化的数字|规定多少个小数|规定用作小数点的字符 串|规定用作千位分隔符的字符串
输出: 1,000,000 1,000.00 1.000.000,00
大小写转换:
26.strtolower(): 字符串转为小写
echo strtolower(“Hello WORLD!”);
目标字符串 小写字符串
27.strtoupper(): 字符串转为大写
echo strtoupper(“Hello WORLD!”);
输出: 大写字符串
28.ucfirst(): 字符串首字母大写
echo ucfirst(“hello world”); // Hello world
29.ucwords(): 字符串每个单词首字符转为大写
echo ucwords(“hello world”); // Hello World
html标签关联:
30.htmlentities(): 把字符转为HTML实体
31.htmlspecialchars(): 预定义字符转html编码
32.nl2br(): \n转义为
标签
echo nl2br(“One line.\nAnother line.”);
输出: 处理后的字符串
33.strip_tags(): 剥去 HTML、XML 以及 PHP 的标签
echo strip_tags(“Hello world!“);
34.addcslashes():在指定的字符前添加反斜线转义字符串中字符
输入: 目标字符串|指定的特定字符或字符范围
35.stripcslashes(): 删除由addcslashes()添加的反斜线
echo stripcslashes(“Hello,\my na\me is Kai Ji\m.”);
// 目标字符串 Hello,my name is Kai Jim.
36.addslashes(): 指定预定义字符前添加反斜线
$str = “Who’s John Adams?”;
echo addslashes($str);
输出: 把目标串中的’ ” \和null进行转义处理
37.stripslashes(): 删除由addslashes()添加的转义字符
echo stripslashes(“Who\’s John Adams?”); // 清除转义符号Who’s John Adams?
38.quotemeta(): 在字符串中某些预定义的字符前添加反斜线
39.chr(): 从指定的 ASCII 值返回字符
echo chr(052); // ASCII 值返回对应的字符
40.ord(): 返回字符串第一个字符的ASCII值
echo ord(“hello”); 字符串第一个字符的 ASCII 值
字符串比较:
41.strcasecmp(): 不区分大小写比较两字符串
echo strcasecmp(“Hello world!”,”HELLO WORLD!”);
输入: 两个目标字符串 输出: 大1|等0|小 -1
42.strcmp(): 区分大小写比较两字符串
43.strncmp(): 比较字符串前n个字符,区分大小写
调用: int strncmp ( string $str1,string $str2,int $len)
44.strncasecmp(): 比较字符串前n个字符,不区分大小写
调用: int strncasecmp ( string $str1,int $len )
45.strnatcmp(): 自然顺序法比较字符串长度,区分大小写
调用: int strnatcmp ( string $str1,string $str2 )
输入: 目标字符串
46.strnatcasecmp(): 自然顺序法比较字符串长度,不区分大小写
调用: int strnatcasecmp ( string $str1,string $str2 )
字符串切割与拼接:
47.chunk_split():将字符串分成小块
调用: str chunk_split(str $body[,int $len[,str $end]])
输入: $body目标字串,$len长度,$str插入结束符 输出: 分割后的字符串
48.strtok(): 切开字符串
调用: str strtok(str $str,str $token)
目标字符串$str,以$token为标志切割返回切割后的字符串
49.explode(): 使用一个字符串为标志分割另一个字符串
调用: array explode(str $sep,str $str[,int $limit])
输入: $sep为分割符,$str目标字符串,$limit返回数组最多包含元素数 输出: 字符串被分割后形成的数组
50.implode(): 同join,将数组值用预订字符连接成字符串
调用: string implode ( string $glue,array $pieces )
$glue默认,用”则直接相连
51.substr(): 截取字符串
调用: string substr ( string $string,int $start [,int $length ] )
字符串查找替换:
52.str_replace(): 字符串替换操作,区分大小写
调用mix str_replace(mix $search,mix $replace,mix $subject[,int &$num])
输入: $search查找的字符串,$replace替换的字符串,$subject被查找字串,&$num 输出: 返回替换后的结果
53.str_ireplace() 字符串替换操作,不区分大小写
调用: mix str_ireplace ( mix $search,mix $subject [,int &$count ] )
输入: $search查找的字符串,&$num 输出: 返回替换后的结果
54.substr_count(): 统计一个字符串,在另一个字符串中出现次数
调用: int substr_count ( string $haystack,string $needle[,int $offset = 0 [,int $length ]] )
55.substr_replace(): 替换字符串中某串为另一个字符串
调用: mixed substr_replace ( mixed $string,string $replacement,int $length ] )
56.similar_text(): 返回两字符串相同字符的数量
调用: int similar_text(str $str1,str $str2)
输入: 两个比较的字符串
输出: 整形,相同字符数量
57.strrchr(): 返回一个字符串在另一个字符串中最后一次出现位置开始到末尾的字符串
调用: string strrchr ( string $haystack,mixed $needle )
58.strstr(): 返回一个字符串在另一个字符串中开始位置到结束的字符串
调用: string strstr ( string $str,string $needle,bool $before_needle )
59.strchr(): strstr()的别名,返回一个字符串在另一个字符串中首次出现的位置开始到末尾的字符串
调用: string strstr ( string $haystack,mixed $needle [,bool $before_needle = false ] )
60.stristr(): 返回一个字符串在另一个字符串中开始位置到结束的字符串,不区分大小写
调用:string stristr ( string $haystack,bool $before_needle = false ] )
61.strtr(): 转换字符串中的某些字符
调用: string strtr ( string $str,string $from,string $to )
62.strpos(): 寻找字符串中某字符最先出现的位置
调用: int strpos ( string $haystack,int $offset = 0 ] )
63.stripos(): 寻找字符串中某字符最先出现的位置,不区分大小写 调用: int stripos ( string $haystack,string $needle [,int $offset ] )
64.strrpos(): 寻找某字符串中某字符最后出现的位置
调用: int strrpos ( string $haystack,int $offset = 0 ] )
65.strripos(): 寻找某字符串中某字符最后出现的位置,不区分大小写
调用: int strripos ( string $haystack,int $offset ] )
66.strspn(): 返回字符串中首次符合mask的子字符串长度 调用: int strspn ( string $str1,string $str2 [,int $length ]] )
67.strcspn(): 返回字符串中不符合mask的字符串的长度
调用: int strcspn ( string $str1,int $length ]] )
输入: $str1被查询,$str2查询字符串,$start开始查询的字符,$length是查询长度 输出: 返回从开始到第几个字符
字符串统计:
68.str_word_count(): 统计字符串含有的单词数
调用: mix str_word_count(str $str,[])
输入: 目标字符串 输出: 统计处的数量
69.strlen(): 统计字符串长度int strlen(str $str)
输入: 目标字符串 输出:整型长度
70.count_chars(): 统计字符串中所有字母出现次数(0..255) 调用: mixed count_chars ( string $string [,int $mode ] )
字符串编码:
71.md5(): 字符串md5编码
数组函数
数组创建:
72.array(): 生成一个数组
数组值或,键=>值一个数组型变量
73.array_combine(): 生成一个数组,用一个数组的值 作为键名,另一个数组值作为值
$a1=array(“a”,”b”,”c”,”d”);
$a2=array(“Cat”,”Dog”,”Horse”,”Cow”);
print_r(array_combine($a1,$a2));
$a1为提供键,$a2提供值合成后的数组
74.range(): 创建并返回一个包含指定范围的元素的数组。
$number = range(0,50,10);
print_r ($number);
输入: 0是最小值,50是最大值,10是步长 输出: 合成后的数组
75.compact(): 创建一个由参数所带变量组成的数组
变量或数组
返回由变量名为键,变量值为值的数组,变量也可以为多维数组.会递归处理 76.array_fill(): 用给定的填充(值生成)数组
2是键,3是填充的数量,’Dog’为填充内容返回完成的数组
数组合并和拆分:
77.array_chunk(): 把一个数组分割为新的数组块
“Cat”,”b”=>”Dog”,”c”=>”Horse”,”d”=>”Cow”);
print_r(array_chunk($a,2));
一个数组分割后的多维数组,规定每个新数组包含2个元素
78.array_merge(): 把两个或多个数组合并为一个数组。
“Horse”,”b”=>”Dog”);
$a2=array(“c”=>”Cow”,”b”=>”Cat”);
print_r(array_merge($a1,$a2));
输入: 两个数组 输出: 返回完成后的数组
79.array_slice(): 在数组中根据条件取出一段值,并返回。
“Dog”,1=>”Cat”,2=>”Horse”,3=>”Bird”);
print_r(array_slice($a,1,2));
输入: 一个数组 输出: 1为从’Cat’开始,2为返回两个元素
数组比较:
80.array_diff(): 返回两个数组的差集数组
“Cat”,1=>”Dog”,2=>”Horse”);
$a2=array(3=>”Horse”,4=>”Dog”,5=>”Fish”);
print_r(array_diff($a1,$a2)); //返回’Cat’
输入: 两个或多个数组 输出: $a1与$a2的不同之处
81.array_intersect(): 返回两个或多个数组的交集数组 输出: 返回’Dog’和’Horse’,$a1与$a2的相同之处
数组查找替换:
82.array_search(): 在数组中查找一个值,返回一个键,没有返回返回假
“Dog”,”b”=>”Cat”,”c”=>”Horse”);
echo array_search(“Dog”,$a);
输入: 一个数组 输出: 成功返回键名,失败返回false
83.array_splice(): 把数组中一部分删除用其他值替代
“Dog”,3=>”Bird”);
$a2=array(0=>”Tiger”,1=>”Lion”);
array_splice($a1,2,$a2);
print_r($a1);
输入: 一个或多个数组 输出: $a1被移除的部分由$a2补全
84.array_sum(): 返回数组中所有值的总和
“5”,1=>”15″,2=>”25″);
echo array_sum($a);
输入: 一个数组 输出: 返回和
85.in_array(): 在数组中搜索给定的值,区分大小写
输入: 需要搜索的值|数组 输出: true/false
86.array_key_exists(): 判断某个数组中是否存在指定的 key
输入: 需要搜索的键名|数组
数组指针操作:
87.key(): 返回数组内部指针当前指向元素的键名
88.current(): 返回数组中的当前元素(单元).
89.next(): 把指向当前元素的指针移动到下一个元素的位置,并返回当前元素的值
90.prev(): 把指向当前元素的指针移动到上一个元素的位置,并返回当前元素的值
91.end(): 将数组内部指针指向最后一个元素,并返回该元素的值(如果成功)
92.reset(): 把数组的内部指针指向第一个元素,并返回这个元素的值
93.list(): 用数组中的元素为一组变量赋值
输入: $a,$c为需要赋值的变量 输出: 变量分别匹配数组中的值
94.array_shift(): 删除数组中的第一个元素,并返回被删除元素的值
“Dog”,”c”=>”Horse”);
echo array_shift($a);
print_r ($a);
95.array_unshift(): 在数组开头插入一个或多个元素
“Cat”,”b”=>”Dog”);
array_unshift($a,”Horse”);
print_r($a);
96.array_push(): 向数组最后压入一个或多个元素
输入: 目标数组|需要压入的值 返回值: 返回新的数组
97.array_pop(): 取得(删除)数组中的最后一个元素
输入: $a为目标数组 输出: 返回数组剩余元素
数组键值操作:
98.shuffle(): 将数组打乱,保留键名
“Dog”,”b” => “Cat”);
shuffle($my_array);
print_r($my_array);
输入: 一个或多个数组 输出: 顺序打乱后的数组
99.count(): 计算数组中的单元数目或对象中的属性个数
输入: 数组 输出: 输出元素个数
100.array_flip(): 返回一个键值反转后的数组
“Dog”,2=>”Horse”);
print_r(array_flip($a));
输出: 返回完成后的数组 101.array_keys(): 返回数组所有的键,组成一个数组
“Horse”,”c”=>”Dog”);
print_r(array_keys($a));
输出: 返回由键名组成的数组
102.array_values(): 返回数组中所有值,组成一个数组
输出: 返回由键值组成的数组
103.array_reverse(): 返回一个元素顺序相反的数组 元素顺序相反的一个数组,键名和键值依然匹配
104.array_count_values(): 统计数组中所有的值出现的次数
输出: 返回数组原键值为新键名,次数为新键值
105.array_rand(): 从数组中随机抽取一个或多个元素,注意是键名!!!
“Dog”,”c”=>”Horse”);
print_r(array_rand($a,1));
$a为目标数组,1为抽取第几个元素的键名返回第1个元素的键名b
106.each(): 返回数组中当前的键/值对并将数组指针向前移动一步 调用array each ( array &$array )
在执行 each() 之后,数组指针将停留在数组中的下一个单元或者当碰到数组结尾时停留在最后一个单元。如果要再用 each 遍历数组,必须使用 reset()。