常见函数
1、implode() 等价 join():
作用:把数组转成字符串;
例子:$ar = array("hello", null, "world"); implode(',', $ar);
2、explode():
作用:使用一个字符串分割另一个字符串,然后返回一维数组;
例子:$pizza = "piece1,piece2,piece3"; $pieces = explode(",", $pizza);
3、array_filter(array):
作用:去掉array中空字符元素,但键的顺序保留
例子:
$str1_array=array('脚本之家','','http://www.jb51.net','','1654','');
$str1_array=array_filter($str1_array);
4、strtotime():
作用:strtotime 将任何英文文本的日期时间描述解析为Unix时间戳
例子:$time = strtotime("2018-01-18 08:08:08");
5、getdate — 取得日期/时间信息
6、serialize():
作用:将数组或对象序列化成字符串存储到文件中;
例子:
$serialized = serialize($so); file_put_contents("test.txt", $serialized);
取出:$content = file_get_contents("test.txt"); $unserialized = unserialize($content);
7、mt_rand():
作用:随机数
例子: mt_rand(1000,9999);
了解:floor();ceil();round();
字符串
1、trim — 去除字符串首尾处的空白字符(或者预定义(其他)字符)
例子:
$text = "\tThese"; $str=trim($text);
2、str_split — 将字符串转换为数组
例子:
$arr2 = str_split($str, 3);
3、strrev()-返回反转后的字符串。
例子:
echo strrev("Hello world!"); // 输出 "!dlrow olleH"
4、wordwrap — 打断字符串为指定数量的字串
例子:
$text = "fdafdsfsfsfafsdafafdsf.";
$newtext = wordwrap($text, 8,',',true);
echo "$newtext";//fdafdsfs,fsfafsda,fafdsf.
5、str_shuffle()–把字符串打乱
例子:
$str='abcd';
$res=str_shuffle($str);//类似输出bacd
6、parse_str — 将字符串转化成数组
例子:
parse_str("id=23&name=John",$myArray);
print_r($myArray);//Array ( [id] => 23 [name] => John )
(漏铜多谨慎使用)
7、strtolower() --字符串转换成小写
strtoupper() --字符串转换成大写
ucfirst() --字符串首字母大写
8、strip_tags — 从字符串中去除 HTML 和 PHP 标记
例子:
$text = '<h1>Test paragraph.</h1>';
echo $text.'<br>';
echo strip_tags($text);
// html_entity_decode-->把实体字符转换回html标签(百度编辑器生成的文本是实体)
9、substr — 返回字符串的子串
echo $rest = substr("abcdefg", 3);//defg
echo $rest = substr("abcdefg", -3);//efg
echo $rest = substr("abcdefg", 3, 2);//de
echo $rest = substr("abcdefg", 3, -1);//def
echo $rest = substr("abcdefg", -3, 2);//ef
echo $rest = substr("abcdef", -5, -2); // 返回 "bcd"
//第三个参数若是负数,那么从它的位置开始掉弃
10、str_replace - 字符串替换
例子:
$msg = 'lili今晚要约maomao';
echo str_replace('maomao','zhengzheng' , $msg);
11、substr_count — 计算字符串出现的另一个字符串的次数
例子:
$str = '1,3,1,4,';
echo substr_count($str , ',');
12、Strlen()
作用:统计一个字符串长度
13、str_repalace()
两个变量的替换例子:
$a=123;
$b=456;
$a.=$b;
$b=str_replace($b, "", $a);
$a=str_replace($b, "", $a); 等价 list($b,$a)=array($a,$b);
数组函数
1、array_chunk(array,size,preserve_keys)
定义:将一个数组分割成多个
返回值:返回一个多维的数值数组
size(一个整数,规定每个新数组块包含多少个元素)
preserve_keys(true - 保留原始数组中的键名)
2、array_column(array,column_key,index_key)
定义:返回数组中指定的一列
返回值:返回一维数组,数组的值为输入数组中某个单一列的值。
array 多维数组
column_key 需要返回值的列
index_key 作为返回数组的索引/键的列
$nextNames = array_column($records, 'last_name', 'id');
3、array_combine((array)keys,(array)values)
定义:用一个数组的值作为其键名,另一个数组的值作为其值,创建一个数组
返回值:返回合并后的数组。如果两个数组的元素个数不相同,则返回 FALSE。
keys(规定数组的键名)
values(规定数组的键名)
4、array_count_values(array)
定义:统计数组中所有值出现的次数
返回值:返回一个关联数组,其元素的键名是原数组的值,键值是该值在原数组中出现的次数。
$a=array("A","Cat","Dog","A","Dog",'2','2');
Array( [A] => 2, [Cat] => 1,[Dog] => 2, [2] => 2)
5、array_diff(array1,array2,array3…)
作用:计算数组的差集
6、array_filter ( a r r a y , array , array,callback)
$array 数组,一维数组或者多维数组
$callback 回调函数名,函数只会接受一个参数,如果想修改参数值,加上&;
function test_odd(&$var){}
此处需要继续注释。。。。。。
7、array_flip(array)
作用:交换数组中的键和值
8、array_key_exists(key,array)
检查数组里是否有指定的键名或索引
如果键名存在则返回 TRUE,如果键名不存在则返回 FALSE
9、array_keys(array,[value,[strict]])
返回包含数组中所有键名的一个新数组
value 可选。您可以指定键值,然后只有该键值对应的键名会被返回。
strict->true区分字符类型;false(默认值)不区分字符类型
$a=array("Volvo"=>"XC90","BMW"=>"X5","Toyota"=>"Highlander");
Array ( [0] => Volvo [1] => BMW [2] => Toyota )
10、array_merge(array1,array2,array3…)
作用:合并一个或多个数组
11、range(low, high, step)
返回一个包含从 low 到 high 的元素的数组。
step:可选。规定元素之间的步进制。默认是 1。
12、array_values(array)
作用:返回 input 数组中所有的值并给其重新建立数字索引。
13、list(var1,var2…)
把数组中的值赋给一组变量
eg: list($a, $b, $c) = ["Dog","Cat","Horse"];
注意:右侧的可以是一个二维数组;
14、in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )
如果在数组中找到值则返回 TRUE,否则返回 FALSE
注意:如果该参数设置为 TRUE,则 in_array() 函数检查搜索的数据与数组的值的类型是否相同;
15、array_reverse(array,preserve)
返回翻转顺序的数组。
preserve:如果设置为 TRUE 会保留数字的键;非数字的键则不受这个设置的影响,总是会被保留
16、array_pop(array)
弹出数组最后一个单元(出栈)
返回数组的最后一个值。如果数组是空的,或者不是一个数组,将返回 NULL。
17、array_push(array,value1,value2…)
将一个或多个单元压入数组的末尾(入栈);;返回新数组的元素个数。
18、array_shift(array)
将数组开头的单元移出数组;;返回从数组中删除元素的值,如果数组为空则返回 NULL。
19、array_unshift(array,value1,value2…)
函数用于向数组插入新元素,返回新数组中元素的个数。
20、array_rand(array,number)
随机返回数组键值
返回数组中的一个随机键名;如果指定函数返回键名不只一个,则返回一个包含随机键名的数组。
21、array_replace(array1,array2…)
使用传递的数组替换第一个数组的元素
$a1 = array('red', 'green', 'blue', 'yellow');
$a2 = array(0 => 'orange', 3 => 'burgundy', 'a' =>'love');
print: array([0] => orange [1] => green [2] => blue [3] =>burgundy [a] => love)
array2的元素会替代array1相同键值对应的元素值,
而不相同的元素则重新和替代的值生成新的数组
22、array_search(value,array,strict)
在数组中搜索给定的值
如果在数组中找到指定的键值,则返回对应的键名,否则返回 FALSE。
如果在数组中找到键值超过一次,则返回第一次找到的键值所匹配的键名。
23、array_slice(array,start,length,preserve)
从数组中取出一段
start 规定取出元素的开始位置(包含本身)。
length 规定被返回数组的长度
preserve 规定函数是保留键名还是重置键名(false - 默认。重置键名)
返回数组中的选定部分。
24、array_splice(array1,start,length,array2)
去掉array1中的某一部分并用array2值取代
start、length 同上
函数也将返回被移除元素的数组。
【25】array_sum(array)
—- 返回数组中所有值的和。
【26】count(array,mode)
– 计算数组中的单元数目,或对象中的属性个数
mode 0 - 默认。不计算多维数组中的所有元素。 1 - 递归地计算多维数组中元素的数目
【27】current(array)
– 返回数组中的当前单元
【28】end(array)
– 将数组的内部指针指向最后一个单元
【29】array_unique(array)
– 函数用于移除数组中重复的值;;返回过滤后的数组。
【30】shuffle(array)
—- 函数把数组中的元素按随机顺序重新排列。
成功则返回 TRUE,如果失败则返回 FALSE。
【31】krsort(array)
– 函数对关联数组按照键名进行降序排序。按常规顺序排列(Standard ASCII,不改变类型)。
【32】ksort(array)
– 函数对关联数组按照键名进行升序排序。
【33】sort(array)
– 函数对数值数组进行降序排序。
【35】rsort(array)
– 函数对数值数组进行降序排序。
【36】natsort(array)
– 函数用"自然排序"算法对数组进行排序。键值保留它们原始的键名。(略)
parse_url( string $url [, int $component = -1 ])
– 解析URL,返回其组成部分。