PHP数组操作汇总 php数组的使用技巧(4)


<?PHP
$array = array("red","blue","yellow","Black");
$result = array_search("red",$array);
if(($result === NULL)){
echo "不存在数值red";
}else{
echo "存在数值 $result";
}
?>


结果:存在数值 0
函数array_search()返回的值可能为false或0或NULL,所以在判断时注意要用"==="
7. 数组的排序
实例一:sort()、rsort()/asort()、arsort()对数组排序:

复制代码 代码如下:


<?PHP
$array = array("b","c","d","a");
sort($array);//从低到高排序
print_r($array);
echo "<br />";
rsort($array);//逆向排序
print_r($array);
?>


结果:
Array ( [0] => a [1] => b [2] => c [3] => d )
Array ( [0] => d [1] => c [2] => b [3] => a )
sort()、rsort()函数对数组进行从低到高的排序,返回结果为bool值;
asort()、arsort()函数是保留键值的排序,排序后键值不重新索引。
实例二:将数组顺序打乱——shuffle()函数:

复制代码 代码如下:


<?PHP
$array = array("a","b","c","d");
shuffle($array);//从低到高排序
print_r($array);
?>


结果为动态结果:
Array ( [0] => c [1] => a [2] => d [3] => b )
shuffle的结果有点随机的意味,每次刷新都不一样。
实例三:array_reverse()数组反向:

复制代码 代码如下:


<?PHP
$array = array("d","b","a","c");
$array = array_reverse($array);//从低到高排序
print_r($array);
?>


运行结果:
Array ( [0] => c [1] => a [2] => b [3] => d )
实例四:自然排序算法——natsort()和natcasesort();

复制代码 代码如下:


<?PHP
$array = array("sort2","Sort5","sort1","sort4");
natsort($array);//从低到高排序
print_r($array);
echo "<br />";
natcasesort($array);
print_r($array);
?>


结果:
Array ( [1] => Sort5 [2] => sort1 [0] => sort2 [3] => sort4 )
Array ( [2] => sort1 [0] => sort2 [3] => sort4 [1] => Sort5 )
natsort()、natcasesort()对数组进行自然排序,就是使用数字的正常排序算法。natcasesort会忽略大小写。
实例五:对数组进行键值排序ksort():

复制代码 代码如下:


<?PHP
$array = array(1=>"sort2",4=>"Sort5",2=>"sort1",3=>"sort4");
ksort($array);//从低到高排序
print_r($array);
?>


结果:
Array ( [1] => sort2 [2] => sort1 [3] => sort4 [4] => Sort5 )
注意:ksort()函数重新建立了索引。
8. 数组的其他用法

复制代码 代码如下:


cout($array) --------统计数组的单元个数
  array_diff($array1,$array2)----------统计数组之间的不同点,返回第一个数组中有而第二个数组中没有的。
  array_diff_assoc($array1,$array2)---------同array_diff(),只是它对键值也比较
  array_diff_key($array1,$array2)------------比较键值
  array_product($array)-----------返回数组的所有数的乘积
  array_sum($array)--------------所有数值的和
  array_rand($array,$n)----------在$array数组中取出$n个数值,返回数组
  array_intersect($array1,$array2)----------------取得两个数组的交集
  array_intersect_assoc($array1,$array2)---------------在array_intersect 的基础上进行键值比较
  array_intersect_key($array1,$array2)-----------------比较两个数组键值的交集


总结
数组的使用在PHP中至关重要,由于PHP没有指针,所以数组承担了很大的数据操作任务。学好数组,才能把PHP应用的得心应手,这里所列均是常用的PHP数组相关的函数及用法,欢迎一起学习!

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/8beb636304699ceadb790ad81ff4b035.html