php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】
author:一佰互联 2019-04-26   click:167

本文实例总结了php常用数组array函数。分享给大家供大家参考,具体如下:

array_combine

功能:用一个数组的值作为新数组的键名,另一个数组的值作为新数组的值

案例:

<?php$a = array("one","two","three");$b = array("一","二","三");$c = array_combine($a,$b);print_r($c);/**结果*Array ( [one] => 一 [two] => 二 [three] => 三 )*/

array_chunk

功能:拆分数组成多个数组

<?php$input_array = array("a"=>"apple","b"=>"blue","c","d","e");echo "<pre>";print_r(array_chunk($input_array, 2));print_r(array_chunk($input_array, 2,True));echo "</pre>";/**结果Array( [0] => Array  (   [0] => apple   [1] => blue  ) [1] => Array  (   [0] => c   [1] => d  ) [2] => Array  (   [0] => e  ))Array( [0] => Array  (   [a] => apple   [b] => blue  ) [1] => Array  (   [0] => c   [1] => d  ) [2] => Array  (   [2] => e  ))*/

array_count_values

功能:统计数组中值出现的次数

<?php$input_array = array("a"=>"apple","b"=>"blue","c","d","e");echo "<pre>";print_r(array_count_values($input_array));echo "</pre>";/**结果Array( [apple] => 1 [blue] => 1 [c] => 1 [d] => 1 [e] => 1)*/

array_diff

功能:第一个数组中去掉第二个数组中有的数据,返回剩下的内容作为结果

<?php$array1 = array("a"=>"apple","b"=>"blue","c","d","e");$array2 = array("apple","c","d","f");$result = array_diff($array1, $array2);$result2 = array_diff($array2, $array1);echo "<pre>";print_r($result);//数组1中去掉数组2中剩下的print_r($result2);//数组2中去掉数组1中剩下的echo "</pre>";/**结果Array( [b] => blue [2] => e)Array( [3] => f)*/

array_map

功能:将回调函数执行到数组中

<?php//定义回调函数function cube($n){ return ($n*$n*$n);}$a = array(1,2,3,4,5);$b = array_map("cube",$a);echo "<pre>";print_r($b);echo "</pre>";/**结果Array( [0] => 1 [1] => 8 [2] => 27 [3] => 64 [4] => 125)*/

array_merge

功能:合并一个或多个数组

说明:如果后面有键名相同的会覆盖掉前面的内容,键名为数字的会添加到后面

<?php$array1 = array("color"=>"red",2,4);$array2 = array("a","b","color"=>"green","shape"=>"trapezoid",4);$result1 = array_merge($array1,$array2);$result2 = array_merge_recursive($array1,$array2);echo "<pre>";print_r($result1);print_r($result2);echo "</pre>";/**结果Array( [color] => green [0] => 2 [1] => 4 [2] => a [3] => b [shape] => trapezoid [4] => 4)Array( [color] => Array  (   [0] => red   [1] => green  ) [0] => 2 [1] => 4 [2] => a [3] => b [shape] => trapezoid [4] => 4)*/

array_pop

功能:剔除数组最后一个元素,返回被剔除的元素内容

<?php$stack = array("orange","banana","apple","1");$last = array_pop($stack);echo "<pre>";print_r($stack);print_r($last);echo "</pre>";/**结果Array( [0] => orange [1] => banana [2] => apple)1*/

array_push

功能:将一个多个单元压入数组末尾,返回之后的数组个数

<?php$stack = array("orange","banana");$count = array_push($stack,"apple","red","blue");echo "<pre>";print_r($stack);print_r($count);echo "</pre>";/**结果Array( [0] => orange [1] => banana [2] => apple [3] => red [4] => blue)5*/

array_rand

功能:获取随机的键名

<?php$input = array("orange","banana","apple","red","blue");$rand = array_rand($input,2);;print_r($rand);$rand = array_rand($input,3);print_r($rand);/**结果Array( [0] => 1 [1] => 4)Array( [0] => 0 [1] => 1 [2] => 3)*/

array_search

功能:查询数组中的内容,返回键值,如果有多个匹配,返回第一个匹配的内容

<?php$array = array("blue"=>"b","red"=>"r","green","r");$key = array_search("b", $array);echo $key;echo "<br>";$key = array_search("r", $array);echo $key;echo "<br>";/**结果bluered*/

array_shift

功能:移除开头的元素,与array_pop相反

<?php$fruit = array("milk","orange","banana","apple");$top = array_shift($fruit);print_r($top);echo "<br>";print_r($fruit);/**结果milkArray ( [0] => orange [1] => banana [2] => apple )*/

array_unique

功能:去除数组重复的元素,保留第一个出现的,包括键名和值

<?php$input = array("a"=>"green","red","b"=>"green","blue","c"=>"red");$result = array_unique($input);print_r($result);echo "<br>";print_r($input);/**结果Array ( [a] => green [0] => red [1] => blue )Array ( [a] => green [0] => red [b] => green [1] => blue [c] => red )*/

array_slice

功能:从数组中取出部分元素

<?php$input = array("a","b","c","d","e");$output = array_slice($input,2);//第二个参数没有时,表示取到最后一个元素print_r($output);echo "<br>";$output = array_slice($input,-2,1);//第二个参数是正数时,表示个数;倒数第一个是-1,倒数第二个是-2print_r($output);echo "<br>";$output = array_slice($input,0,3);print_r($output);echo "<br>";$output = array_slice($input,2,-1);//第二个参数是负数时,表示位置,取到哪一位,不包括本身print_r($output);echo "<br>";$output = array_slice($input,2,-1,true);//第三个参数为true时,保留原有的键值print_r($output);echo "<br>";/**结果Array ( [0] => c [1] => d [2] => e )Array ( [0] => d )Array ( [0] => a [1] => b [2] => c )Array ( [0] => c [1] => d )Array ( [2] => c [3] => d )*/

count

功能:返回数组元素个数,元素为数组的算一个

<?php$input = array("a","b","c",array("d","e"));$count = count($input);echo $count;echo "<br>";$input = array("a","b","c","d","e");$count = count($input);echo $count;/**结果45*/

current

功能:获取当前的指针指向元素

<?php$array = array("foot","bike","car","plane");$result = current($array);echo $result."<br>";next($array);//使指针指向下一个元素$result = current($array);echo $result."<br>";prev($array);//使指针指向前一个元素$result = current($array);echo $result."<br>";end($array);//使指针指向最后一个元素$result = current($array);echo $result."<br>";/**结果footbikefootplane*/

in_array

功能:检验某值是否存在数组中,有返回True,没有返回False

<?php$os_list = array("Mac","NT","Irix","Linux");if(in_array("Irix",$os_list)){ echo "当前操作系统列表中存在Irix";}else{ echo "当前操作系统列表中不存在Irix";}echo "<br>";if(in_array("mac",$os_list)){ echo "当前操作系统列表中存在mac";}else{ echo "当前操作系统列表中不存在mac";}echo "<br>";/**结果当前操作系统列表中存在Irix当前操作系统列表中不存在mac*/

list

功能:将数组中的信息赋值给多个变量

<?php$info = array("red","blue","green");list($flag,$sky,$grassland) = $info;echo "$flag,$sky,$grassland";echo "<br>";list($flag,,$grassland) = $info;echo "$flag,$grassland";echo "<br>";list(,,$grassland) = $info;echo "$grassland";echo "<br>";/**结果red,blue,greenred,greengreen*/

shuffle

功能:打乱数组

<?php$numbers = range(1,5);//生成一个随机数组print_r($numbers);echo "<br/>";shuffle($numbers);//打乱数组print_r($numbers);/**结果Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )Array ( [0] => 4 [1] => 1 [2] => 5 [3] => 2 [4] => 3 )*/

array_keys

功能:获取数组的键名,第二个参数可以指定获取某个元素

<?php$array = array(0=>100,"color"=>"red");print_r(array_keys($array));echo "<br>";$array = array("blue","red","green","blue","blue");print_r(array_keys($array,"blue"));echo "<br>";$array = array("color"=>array("blue","red","green"),"size"=>array("small","medium","large"));print_r(array_keys($array));echo "<br>";/**结果Array ( [0] => 0 [1] => color )Array ( [0] => 0 [1] => 3 [2] => 4 )Array ( [0] => color [1] => size )*/

array_reverse

功能:获取数组的反向

<?php$input = array("php",3.0,array("green","red"));$result = array_reverse($input); //打乱键名$result_keyed = array_reverse($input,TRUE);//保留键名print_r($result);print_r($result_keyed);/**结果Array( [0] => Array  (   [0] => green   [1] => red  ) [1] => 3 [2] => php)Array( [2] => Array  (   [0] => green   [1] => red  ) [1] => 3 [0] => php)*/

arsort

功能:逆向排序,索引不变

<?php$fruits = array( "a"=>"lemon", "b"=>"orange", "c"=>"banana", "d"=>"apple", );arsort($fruits);//按照字符逆向排序或数字foreach($fruits as $key=>$val){ echo "$key = $val<br>";}/**结果b = orangea = lemonc = bananad = apple*/

asort

功能:进行正向排序

<?php$fruits = array( "a"=>"lemon", "b"=>"orange", "c"=>"banana", "d"=>"apple", );arsort($fruits);//按照字符逆向排序或数字foreach($fruits as $key=>$val){ echo "$key = $val<br>";}echo "<p>";asort($fruits);//按照字符正向排序或数字foreach($fruits as $key=>$val){ echo "$key = $val<br>";}/**结果b = orangea = lemonc = bananad = appled = applec = bananaa = lemonb = orange*/

krsort

功能:按照键名进行逆向排序

<?php$fruits = array( "a"=>"lemon", "b"=>"orange", "c"=>"banana", "d"=>"apple", );krsort($fruits);//按照键名逆向排序或数字foreach($fruits as $key=>$val){ echo "$key = $val<br>";}/**结果d = applec = bananab = orangea = lemon*/

ksort

功能:按照键名进行正向排序

<?php$fruits = array( "a"=>"lemon", "b"=>"orange", "c"=>"banana", "d"=>"apple", );ksort($fruits);//按照键名正向排序或数字foreach($fruits as $key=>$val){ echo "$key = $val<br>";}/**结果a = lemonb = orangec = bananad = apple*/

rsort

功能:按照值进行逆向排序,键名改变

<?php$fruits = array( "a"=>"lemon", "b"=>"orange", "c"=>"banana", "d"=>"apple", );rsort($fruits);//按照值进行逆向排序或数字,键名改变foreach($fruits as $key=>$val){ echo "$key = $val<br>";}/**结果0 = orange1 = lemon2 = banana3 = apple*/

sort

功能:按照值进行正向排序,键名改变

<?php$fruits = array( "a"=>"lemon", "b"=>"orange", "c"=>"banana", "d"=>"apple", );sort($fruits);//按照值进行逆向排序或数字,键名改变foreach($fruits as $key=>$val){ echo "$key = $val<br>";}/**结果0 = apple1 = banana2 = lemon3 = orange*/

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php常用函数与技巧总结》、《PHP错误与异常处理方法总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。