您的位置:首页 > 编程语言 > PHP开发

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()

例:

<?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



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: