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 ...
随机推荐
- ReentrantLock公平锁与非公平锁lock()方法去竞争锁的不同点
- iOS中基于 Socket 的 C/S 结构网络通信(中)
结合上一篇的知识.接下来将介绍基于 TCP 协议的 Socket 编程.因为 Socket 须要有client和服务端,那么如今实现的是关于服务端的简单程序.服务端採用的是CFStream 类来实现 ...
- impdp时卡住,DW等待library cache lock
同事反映impdp时在SCHEMA_REPORT/TYPE/TYPE_SPEC步骤卡住,1个多小时后也没有响应, 查下v$session: select program,sid, event,bloc ...
- Gym-101915C Shahhoud Training Hussain 模拟
题面 题意:每天有K本书,你最多看P本一天,问N天后多少本书没有看 题解:ans=(K-P)*N; 注意一点就是P>=K的时候,ans=0; #include<bits/stdc++.h& ...
- python程序中用类变量代替global 定义全局变量
在python编程中,一般使用global 关键字来定义全局变量,但是发现 global 关键字在涉及多个文件时,好像存在问题. 比如,单个文件下用global定义使用全局变量的情况 ,看下面的代码 ...
- GStreamer基础教程01 - Hello World
摘要 在面对一个新的软件库时,第一步通常实现一个“hello world”程序,来了解库的用法.对于GStreamer,我们可以实现一个极简的播放器,来了解GStreamer的使用. 环境配置 为了快 ...
- golang互斥锁和读写锁
一.互斥锁 互斥锁是传统的并发程序对共享资源进行访问控制的主要手段.它由标准库代码包sync中的Mutex结构体类型代表.sync.Mutex类型(确切地说,是*sync.Mutex类型)只有两个公开 ...
- OpenCASCADE 包说明
转载地址:http://www.cppblog.com/eryar/archive/2012/06/30/180916.html 一.简介 Introduction to Package gp gp是 ...
- c# 正则表达式regex心得
5.1. C#中的正则表达式的简介 C#中的Regex类处理正则表达式. 5.2. C#正则表达式的语法 5.3. C#中的正则表达式的特点 下面总结一些C#中的正则表达式相对于其他语言中的正则表达式 ...
- Unity3d Vector3
using UnityEngine; using System.Collections; public class test : MonoBehaviour { void Start () { Vec ...