PHP常用函数之-数组
2016-05-18 13:32
330 查看
在学习PHP的过程中,我们经常需要对数组进行操作
数组后面加内容
$a = array('a','b','c');
$a[] = 'd';
print_r($a); //array([0]=>'a',[1]=>'b',[2]=>'c',[3]=>'d')
//删除数组第二个元素
unset($a[1]);
//循环操作
for循环只能针对索引数组
foreach循环可以针对关联数组
数组常用函数总结:
count() array_key_exists() in_array() array_change_key_case() array_count_values() array_fill() array_filter()
array_values() array_keys() array_push() array_pop() array_shift() array_unshift()
sort() resort() usort() asort() ksort() natsort() natcasesort() array_merge() array_merge_recursive() array_diff() array_diff_assoc() array_intersect() array_interect_assoc()
array_flip() array_unique() array_reverse() array_sum() shuffle() range() srand() array_rand()
以下是各函数的详细说明:
1 array_key_exists()
例:
2 array_change_key_case() 将数组的所有的键都转换为大写字母或小写字母
3 array_count_values() 用于统计数组中所有值出现的次数
4 array_fill() 用键值填充数组
5 array_filter()
6 array_values() 返回一个包含给定数组中所有键值的数组,但不保留键名。
例:
输出结果:Array( [0] => Bill [1] => 60 [2] => USA)
7 array_keys() 返回包含数组中所有键名的一个新数组
例:
输出结果:Array( [0] => Volvo [1] => BMW [2] => Toyota)
8 array_push() 向数组尾部添加一个或多个元素(入栈),然后返回新数组的长度
例:
输出结果:Array( [0] => red [1] => green [2] => blue [3] => yellow)
9 array_pop() 删除数组中的最后一个元素(出栈)
例:
10 array_shift() 数删除数组中第一个元素,并返回被删除元素的值。如果键名是数字的,所有元素都会获得新的键名,从 0 开始,并以 1 递增。
11 array_unshift() 向数组插入新元素。新数组的值将被插入到数组的开头。
12 sort() 对索引数组进行升序排序。按字母进行升序排序
13 usort() 通过用户自定义的比较函数对数组进行排序。
14 asort() 函数对关联数组按照键值进行降序排序。
15 ksort() 函数对关联数组按照键名进行升序排序。
16 natsort() 函数用"自然排序"算法对数组进行排序。键值保留它们原始的键名。
17 array_merge() 函数把一个或多个数组合并为一个数组
18 array_merge_recursive() 函数把一个或多个数组合并为一个数组。该函数与
array_merge() 函数的区别在于处理两个或更多个数组元素有相同的键名时。array_merge_recursive() 不会进行键名覆盖,而是将多个相同键名的值递归组成一个数组。
例:
输出结果:Array( [a] => red [b] => Array ( [0] => green [1] => yellow ) [c] => blue)
19 array_diff() 函数返回两个数组的差集数组(只比较键值,不比较键名)
例:
输出结果:Array( [d] => yellow)
20 array_diff_assoc() 函数用于比较两个(或更多个)数组的键名和键值 ,并返回差集。
输出结果:Array( [d] => yellow)
21 array_intersect() 函数用于比较两个(或更多个)数组的键值,并返回交集。
22 array_interect_assoc() 函数用于比较两个(或更多个)数组的键名和键值,并返回交集。
23 array_flip() 函数用于反转/交换数组中所有的键名以及它们关联的键值。
24 array_unique() 函数移除数组中的重复的值,并返回结果数组。
25 array_reverse() 函数以相反的元素顺序返回数组。
26 array_sum() 函数返回数组中所有值的和。
27 shuffle() 函数把数组中的元素按随机顺序重新排列。
28 range() 函数创建一个包含指定范围的元素的数组。
例:
输出结果:Array( [0] => 0 [1] => 1 [2] => 2 [3] => 3 [4] => 4 [5] => 5)
29 array_rand() 函数返回数组中的随机键名,或者如果您规定函数返回不只一个键名,则返回包含随机键名的数组。
例:
输出结果:red
yellow
brown
数组后面加内容
$a = array('a','b','c');
$a[] = 'd';
print_r($a); //array([0]=>'a',[1]=>'b',[2]=>'c',[3]=>'d')
//删除数组第二个元素
unset($a[1]);
//循环操作
for循环只能针对索引数组
foreach循环可以针对关联数组
数组常用函数总结:
count() array_key_exists() in_array() array_change_key_case() array_count_values() array_fill() array_filter()
array_values() array_keys() array_push() array_pop() array_shift() array_unshift()
sort() resort() usort() asort() ksort() natsort() natcasesort() array_merge() array_merge_recursive() array_diff() array_diff_assoc() array_intersect() array_interect_assoc()
array_flip() array_unique() array_reverse() array_sum() shuffle() range() srand() array_rand()
以下是各函数的详细说明:
1 array_key_exists()
例:
<?php $a=array("Volvo"=>"XC90","BMW"=>"X5"); if (array_key_exists("Volvo",$a)) { echo "键存在!"; } else { echo "键不存在!"; } ?>
2 array_change_key_case() 将数组的所有的键都转换为大写字母或小写字母
3 array_count_values() 用于统计数组中所有值出现的次数
<?php
$a=array("A","Cat","Dog","A","Dog"); print_r(array_count_values($a)); ?>
运行结果:Array( [A] => 2 [Cat] => 1 [Dog] => 2)[/code]
4 array_fill() 用键值填充数组
array_fill(index,number,value);
index | 必需。被返回数组的第一个索引。 |
number | 必需。规定要插入的元素数。 |
value | 必需。规定供填充数组所使用的值。 |
5 array_filter()
6 array_values() 返回一个包含给定数组中所有键值的数组,但不保留键名。
例:
<?php$a=array("Name"=>"Bill","Age"=>"60","Country"=>"USA");
print_r(array_values($a));
?>
输出结果:Array( [0] => Bill [1] => 60 [2] => USA)
7 array_keys() 返回包含数组中所有键名的一个新数组
例:
<?php$a=array("Volvo"=>"XC90","BMW"=>"X5","Toyota"=>"Highlander");
print_r(array_keys($a));
?>
输出结果:Array( [0] => Volvo [1] => BMW [2] => Toyota)
8 array_push() 向数组尾部添加一个或多个元素(入栈),然后返回新数组的长度
例:
<?php$a=array("red","green");
array_push($a,"blue","yellow");
print_r($a);
?>
输出结果:Array( [0] => red [1] => green [2] => blue [3] => yellow)
9 array_pop() 删除数组中的最后一个元素(出栈)
例:
<?php$a=array("red","green","blue");
array_pop($a);
print_r($a);
?>
输出结果:Array([0] => red [1] => green)
10 array_shift() 数删除数组中第一个元素,并返回被删除元素的值。如果键名是数字的,所有元素都会获得新的键名,从 0 开始,并以 1 递增。
11 array_unshift() 向数组插入新元素。新数组的值将被插入到数组的开头。
12 sort() 对索引数组进行升序排序。按字母进行升序排序
13 usort() 通过用户自定义的比较函数对数组进行排序。
14 asort() 函数对关联数组按照键值进行降序排序。
15 ksort() 函数对关联数组按照键名进行升序排序。
16 natsort() 函数用"自然排序"算法对数组进行排序。键值保留它们原始的键名。
17 array_merge() 函数把一个或多个数组合并为一个数组
18 array_merge_recursive() 函数把一个或多个数组合并为一个数组。该函数与
array_merge() 函数的区别在于处理两个或更多个数组元素有相同的键名时。array_merge_recursive() 不会进行键名覆盖,而是将多个相同键名的值递归组成一个数组。
例:
<?php$a1=array("a"=>"red","b"=>"green");
$a2=array("c"=>"blue","b"=>"yellow");
print_r(array_merge_recursive($a1,$a2));
?>
输出结果:Array( [a] => red [b] => Array ( [0] => green [1] => yellow ) [c] => blue)
19 array_diff() 函数返回两个数组的差集数组(只比较键值,不比较键名)
例:
<?php$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("e"=>"red","f"=>"green","g"=>"blue");
$result=array_diff($a1,$a2);
print_r($result);
?>
输出结果:Array( [d] => yellow)
20 array_diff_assoc() 函数用于比较两个(或更多个)数组的键名和键值 ,并返回差集。
<?php$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("a"=>"red","b"=>"green","c"=>"blue");
$result=array_diff_assoc($a1,$a2);
print_r($result);
?>
输出结果:Array( [d] => yellow)
21 array_intersect() 函数用于比较两个(或更多个)数组的键值,并返回交集。
22 array_interect_assoc() 函数用于比较两个(或更多个)数组的键名和键值,并返回交集。
23 array_flip() 函数用于反转/交换数组中所有的键名以及它们关联的键值。
24 array_unique() 函数移除数组中的重复的值,并返回结果数组。
25 array_reverse() 函数以相反的元素顺序返回数组。
26 array_sum() 函数返回数组中所有值的和。
27 shuffle() 函数把数组中的元素按随机顺序重新排列。
28 range() 函数创建一个包含指定范围的元素的数组。
例:
<?php$number = range(0,5);
print_r ($number);
?>
输出结果:Array( [0] => 0 [1] => 1 [2] => 2 [3] => 3 [4] => 4 [5] => 5)
29 array_rand() 函数返回数组中的随机键名,或者如果您规定函数返回不只一个键名,则返回包含随机键名的数组。
例:
<?php$a=array("red","green","blue","yellow","brown");
$random_keys=array_rand($a,3);
echo $a[$random_keys[0]]."<br>";
echo $a[$random_keys[1]]."<br>";
echo $a[$random_keys[2]];
?>
输出结果:red
yellow
brown
相关文章推荐
- [PHP] Yaf框架的简单安装使用
- PHP的swoole扩展安装方法详细教程
- php常用函数之-字符串函数
- yii2图片上传组件,多图上传,图片上传预览
- Notepad++插件NppFTP安装使用及配置文件说明
- PHP session storage
- php使用websocket示例详解
- php ord和chr函数
- php常用函数之-日期函数
- Redhat9配置Vsftpd服务器
- CI框架源码解读之利用Hook.php文件完成功能扩展的方法
- laravel简单的laragon环境搭建不需要composer一键集成
- Laravel Service Provider 中 boot 方法和 register 方法的区别
- Ubuntu 中搭建 LAMP 及 php 开发工具
- 谁说路由远程控制是智能路由的专属?TP-LINK也玩远程控制!
- php 简单实现 图片压缩
- 用tp实现中文验证码
- 一、学习php输出表格信息、并在表单中取值,把值传到另一个页面。
- 魔术方法使用
- 【 VSFTPD 】ftp 客户端问题