php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】
2018-09-07 19:06
本文实例总结了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>; /**结果 blue red */
array_shift
功能:移除开头的元素,与array_pop相反
<?php $fruit = array(milk,orange,banana,apple); $top = array_shift($fruit); print_r($top); echo <br>; print_r($fruit); /**结果 milk Array ( [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,倒数第二个是-2 print_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; /**结果 4 5 */
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>; /**结果 foot bike foot plane */
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,green red,green green */
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 = orange a = lemon c = banana d = 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 = orange a = lemon c = banana d = apple d = apple c = banana a = lemon b = 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 = apple c = banana b = orange a = 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 = lemon b = orange c = banana d = 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 = orange 1 = lemon 2 = banana 3 = 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 = apple 1 = banana 2 = lemon 3 = orange */
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php常用函数与技巧总结》、《PHP错误与异常处理方法总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
下一篇:php 归并排序 数组交集
文章标题:php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】
文章链接:http://soscw.com/essay/15174.html