php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】


Posted in PHP onDecember 07, 2016

本文实例总结了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 相关文章推荐
Linux下 php5 MySQL5 Apache2 phpMyAdmin ZendOptimizer安装与配置[图文]
Nov 18 PHP
如何使用php判断服务器是否是HTTPS连接
Jul 05 PHP
Thinkphp中Create方法深入探究
Jun 16 PHP
php禁止浏览器使用缓存页面的方法
Nov 07 PHP
php中getservbyport与getservbyname函数用法实例
Nov 18 PHP
PHP获取一段文本显示点阵宽度和高度的方法
Mar 12 PHP
php使用curl打开https网站的方法
Jun 17 PHP
PHP中Session和Cookie是如何操作的
Oct 10 PHP
PHP中功能强大却很少使用的函数实例小结
Nov 10 PHP
thinkPHP简单导入和使用阿里云OSSsdk的方法
Mar 15 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
Jun 13 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
Apr 04 PHP
php常用字符串String函数实例总结【转换,替换,计算,截取,加密】
Dec 07 #PHP
php自定义时间转换函数示例
Dec 07 #PHP
php微信公众平台开发(四)回复功能开发
Dec 06 #PHP
php微信公众平台开发(三)订阅事件处理
Dec 06 #PHP
php微信公众平台示例代码分析(二)
Dec 06 #PHP
php微信公众平台开发(一) 配置接口
Dec 06 #PHP
php简单计算年龄的方法(周岁与虚岁)
Dec 06 #PHP
You might like
php+AJAX传送中文会导致乱码的问题的解决方法
2008/09/08 PHP
PHP使用gmdate实现将一个UNIX 时间格式化成GMT文本的方法
2015/03/19 PHP
使用PHP json_decode可能遇到的坑与解决方法
2017/08/03 PHP
PHP+redis实现的悲观锁机制示例
2018/06/12 PHP
PHP面向对象程序设计子类扩展父类(子类重新载入父类)操作详解
2019/06/14 PHP
jQuery 使用手册(四)
2009/09/23 Javascript
js获取GridView中行数据的两种方法 分享
2013/07/13 Javascript
js对列表中第一个值处理与jsp页面对列表中第一个值处理的区别详解
2013/11/05 Javascript
jquery 绑定回车动作扑捉回车键触发的事件
2014/03/26 Javascript
当前流行的JavaScript代码风格指南
2014/09/10 Javascript
Javascript定义类(class)的三种方法详解
2015/03/13 Javascript
JavaScript实现把数字转换成中文
2015/06/29 Javascript
基于JavaScript实现动态添加删除表格的行
2016/02/01 Javascript
微信小程序 视图层(xx.xml)和逻辑层(xx.js)详细介绍
2016/10/13 Javascript
详解JavaScript RegExp对象
2017/02/04 Javascript
Angular 通过注入 $location 获取与修改当前页面URL的实例
2017/05/31 Javascript
如何将HTML字符转换为DOM节点并动态添加到文档中详解
2018/08/19 Javascript
JS实现判断数组是否包含某个元素示例
2019/05/24 Javascript
简单学习Python time模块
2016/04/29 Python
Python2.7+pytesser实现简单验证码的识别方法
2017/12/29 Python
Django实现单用户登录的方法示例
2019/03/28 Python
python实现银行管理系统
2019/10/25 Python
Python实现线性插值和三次样条插值的示例代码
2019/11/13 Python
Flask 上传自定义头像的实例详解
2020/01/09 Python
Python如何将字符串转换为日期
2020/07/31 Python
使用HTML5的File实现base64和图片的互转
2013/08/01 HTML / CSS
html5唤起app的方法
2017/11/30 HTML / CSS
英国花园家具中心:Garden Furniture Centre
2017/08/24 全球购物
企业业务员岗位职责
2014/03/14 职场文书
工作保证书范文
2014/04/29 职场文书
服务整改报告
2014/11/06 职场文书
2014年客房服务员工作总结
2014/11/18 职场文书
销售工作决心书
2015/02/04 职场文书
被告代理词范文
2015/05/25 职场文书
选对餐饮营销策略,营业额才会上涨
2019/08/27 职场文书
Window server 2012 R2 AD域的组策略相关设置
2022/04/28 Servers