PHP开发过程中数组汇总 [ 持续更新系列 ]
开发过程中经常会使用到数组函数,故特地总结出来,自己熟悉,同时供大家参考!(实例部分会抽空尽快完成)
一、目录
- array_merge(); 合并数组
- array_keys();
- array_filter();
- in_array();
- array_shift();
- array_map();
- array_diff();
- array_values();
- array_unique();
- array_flip()
- array_multisort()
- array_column()
- array_intersect()
- array_key_exists()
- array_pad()
- array_pop()
- array_product()
- array_sum()
- array_push()
- array_search()
- array_reduce()
二、实例
1. array_merge();
合并数组
<?php
$a1=array("red","green");
$a2=array("blue","yellow");
print_r(array_merge($a1,$a2));
Array
(
[0] => red
[1] => green
[2] => blue
[3] => yellow
)
2. array_keys();
2.1、【第一参数】【必选】取键名做值
返回包含数组中所有键名的一个新数组:
$a=array(
"name"=>"zhangsan",
"age"=>"18",
"h"=>"178");
print_r(array_keys($a));
Array
(
[0] => name
[1] => age
[2] => h
)
2.2、【第二参数】【可选】,指定value的key
取指定value的key,作为返回array的value
$a=array(
"name"=>"zhangsan",
"age"=>"18",
"h"=>"178");
print_r(array_keys($a,"178"));
Array
(
[0] => h
)
2.3、【第三参数】【可选】 返回带有指定键值的键名
true为严格类型
$a=array(10,20,30,"10");
print_r(array_keys($a,"10",true));
//返回结果
Array
(
[0] => 3
)
$a=array(10,20,30,"10");
print_r(array_keys($a,"10",true));
//返回结果
Array
(
[0] => 0
[1] => 3
)
3. array_filter();
用回调函数过滤数组中的值
4. in_array();
| 参数 | 是否可选 | 描述 |
|---|---|---|
| value | 必选 | 需要搜素的键值。 |
| array | 必选 | 规定被搜索的数组 |
| strict | 可选 | 如果设置为 true,则在数组中检查给定值的类型,默认是false |
搜索数组中是否存在指定的值。
- 如果 search 参数是字符串且 type 参数被设置为 TRUE,则搜索区分大小写。
- 如果设置为 true,则在数组中检查给定值的类型
示例部分
$array = array(
'egg' => true,
'cheese' => false,
'hair' => 765,
'goblins' => null,
'ogres' => 'no ogres allowed in this array'
);
var_dump(in_array('wo shi sui bian shuru de ,danshi jieguo haishi true', $array));exit;
var_dump(in_array('null', $array)); //true
var_dump(in_array(null, $array,true)); //false
var_dump(in_array('', $array)); //true
var_dump(in_array('', $array,true)); //false
5. array_shift();
删除数组中的第一个元素(red),并返回被删除元素的值:
<?php
$a=array("a"=>"red","b"=>"green","c"=>"blue");
echo array_shift($a);
print_r ($a);
?>
6. array_map();
array_map() 函数将用户自定义函数作用到数组中的每个值上,并返回用户自定义函数作用后的带有新值的数组。
回调函数接受的参数数目应该和传递给 array_map() 函数的数组数目一致。
提示:您可以向函数输入一个或者多个数组。
<?php
function myfunction($v)
{
return($v*$v);
}
$a=array(1,2,3,4,5);
print_r(array_map("myfunction",$a));
?>
7. array_diff();
8. array_values();
9. array_unique();
10. array_flip()
11. array_multisort()
12. array_column()
13. array_intersect()
14. array_key_exists()
15. array_pad()
16. array_pop()
17. array_product()
18. array_sum()
19. array_push()
20. array_search()
21. array_reduce()
原文地址:https://segmentfault.com/a/1190000016337387
PHP开发过程中数组汇总 [ 持续更新系列 ]的更多相关文章
- 《WCF技术剖析》博文系列汇总[持续更新中]
原文:<WCF技术剖析>博文系列汇总[持续更新中] 近半年以来,一直忙于我的第一本WCF专著<WCF技术剖析(卷1)>的写作,一直无暇管理自己的Blog.在<WCF技术剖 ...
- 中国.NET:各地微软技术俱乐部汇总(持续更新中...)
中国.NET:各地微软技术俱乐部汇总(持续更新中...) 本文是转载文,源地址: https://www.cnblogs.com/panchun/p/JLBList.html by 史记微软. ...
- 跟我学SpringCloud | 终篇:文章汇总(持续更新)
SpringCloud系列教程 | 终篇:文章汇总(持续更新) 我为什么这些文章?一是巩固自己的知识,二是希望有更加开放和与人分享的心态,三是接受各位大神的批评指教,有任何问题可以联系我: inwsy ...
- redis日常使用汇总--持续更新
redis日常使用汇总--持续更新 工作中有较多用到redis的场景,尤其是触及性能优化的方面,传统的缓存策略在处理持久化和多服务间数据共享的问题总是不尽人意,此时引入redis,但redis是单线程 ...
- 痞子衡嵌入式:史上最强i.MX RT学习资源汇总(持续更新中...)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MX RT学习资源. 类别 资源 简介 官方汇总 i.MXRT产品主页 恩智浦官方i.MXRT产品主页,最权威的资料都在这里,参考手 ...
- Type Script在Visual Studio 2013中的问题汇总(持续更新…)
TypeScript在vs2012下的问题 TypeScript对VS2012支持度比较低,建议升级为VS2013版本以上. 在VS2013中无法创建TypeScript项目 VS2013默认不支持T ...
- FreeCMS开发过程问题总结(持续更新中)
正在做freecms的二次开发,特对开发过程中遇到的问题及原因分析进行总结分享,共勉. 2014/4/25 错误提示:静态化处理失败,原因:Expression answerList is undef ...
- 优步UBER司机全国各地最新奖励政策汇总(持续更新...)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://didi-uber.com/archiv ...
- IT书籍下载汇总--持续更新
本书单由北北分享,并持续更新,请将该地址加入收藏夹:北北的书单 .badge{float:right;}.list-group-item > .badge + .badge{margin-rig ...
随机推荐
- ZOJ 3829 Known Notation(字符串处理 数学 牡丹江现场赛)
题目链接:problemId=5383">http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5383 Do you ...
- yolo源码解析(3):视频检测流程
代码在自己电脑中!!!!不在服务器 根据前文所说yolo代码逻辑: ├── examples │ ├── darknet.c(主程序) │ │── xxx1.c │ └── xxx2.c │ ├── ...
- jdk5可变参数列表
今天碰到了 public static String getAutoRelateRelationship(final JSONObject modifyJson, String... inUsedCo ...
- css3 背景background
Css3背景<background> Css3包含多个新的背景属性,它们提供了对背景更强大的控制.可以自定义背景图的大小,可以规定背景图片的定位区域,css3还允许我们为元素使用多个背景图 ...
- Mac OS X10.9安装的Python2.7升级Python3.4步骤详解
Mac OS X10.9安装的Python2.7升级Python3.4步骤详解 Mac OS X10.9默认带了Python2.7,不过现在Python3.4.0出来了,如果想使用最新版本,赶紧升级下 ...
- 多线程之HttpClient
在程序用调用 Http 接口.请求 http 资源.编写 http 爬虫等的时候都需要在程序集中进行 Http 请求. 很多人习惯的 WebClient.HttpWebRequest 在 TPL 下很 ...
- Android GoogleMap 谷歌地图从零开始
说明 由于国内使用v2最新的谷歌地图有很多限制,所有如果要在真机上测试运行要做一些准备 准备1: vpn必不可少啦 推荐cloud vpn或者betternet都是不错的免费vpn 准备2: 由于最新 ...
- redis的基本命令
一.String类型的键值对 给一个变量赋值 set varName varVal eg 得到一个变量的值 get varName eg 删除一个变量 del varName eg del nume ...
- Laravel5 开启Debug
Laravel默认没有开启Debug,打开需要两步: .env文件中设置APP_DEBUG=true: 把Laravel服务重启一下(摸索出来的). 这只是开启了基本的调试模式,如果需要看更详细的调试 ...
- wp8路线跟踪应用源码详细说明
目录 介绍 应用程序界面 定时执行 定位追踪 设置地图Pitch和Heading属性 后台位置追踪 Live Tile 总结 介绍 我从Windows Phone7 还在测试阶段的时候就开始开发了,所 ...