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 ...
随机推荐
- @requestbody @responsebody详解
@requestbody @responsebody详解 会唤起spring mvc的httpmessageconveter转换类进行数据转换 简介: @RequestBody 作用: i) 该注解用 ...
- 利用runtime动态生成对象?
利用runtime我们能够动态生成对象.属性.方法这特性 假定我们要动态生成DYViewController,并为它创建属性propertyName 1)对象名 NSString *class = @ ...
- 关于Linux静态库和动态库的分析
关于Linux静态库和动态库的分析 关于Linux静态库和动态库的分析 1.什么是库 在windows平台和linux平台下都大量存在着库. 本质上来说库是一种可运行代码的二进制形式.能够被操作系统加 ...
- 关于PHP浮点数之 intval((0.1+0.7)*10) 为什么是7
PHP是一种弱类型语言, 这样的特性, 必然要求有无缝透明的隐式类型转换, PHP内部使用zval来保存任意类型的数值, zval的结构如下(5.2为例): struct _zval_struct { ...
- 理解和配置 Linux 下的 OOM Killer【转】
本文转载自:http://www.vpsee.com/2013/10/how-to-configure-the-linux-oom-killer/ 最近有位 VPS 客户抱怨 MySQL 无缘无故挂掉 ...
- 高效管理 Elasticsearch 中基于时间的索引——本质是在利用滚动模式做数据的冷热分离,热索引可以用ssd
高效管理 Elasticsearch 中基于时间的索引 转自:http://stormluke.me/es-managing-time-based-indices-efficiently/ 用 Ela ...
- 给统计人讲Python(1)_科学计算库-Numpy
本地代码是.ipynb格式的转换到博客上很麻烦,这里展示部分代码,了解更多可以查看我的git-hub:https://github.com/Yangami/Python-for-Statisticia ...
- AWS S3 对象存储服务
虽然亚马逊云非常牛逼,虽然亚马逊云财大气粗,虽然亚马逊用的人也非常多,可是这个文档我简直无法接受,特别是客服,令人发指的回复速度,瞬间让人无语,可是毕竟牛逼.忍了,躺一次坑而已 1.图片上传 1.1 ...
- TopN问题(分别使用Hadoop和Spark实现)
简介 TopN算法是一个经典的算法,由于每个map都只是实现了本地的TopN算法,而假设map有M个,在归约的阶段只有M x N个,这个结果是可以接受的并不会造成性能瓶颈. 这个TopN算法在map阶 ...
- javascript一个作用域案例分析
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...