array_map 函数的介绍

将数组的每个单元使用回调函数
格式: array_map(callback, array)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
$arr = [
[
'id' => 1,
'name' => 'zhang',
],
[
'id' => 2,
'name' => 'lisi'
],
[
'id' => 3,
'name' => 'joe'
]
];
 
// 使用匿名回调函数,也可以使用自定义函数
$res = array_map(function($val) {
return $val['id'];
}, $arr);
 
print_r($arr);
 
// array_map 的回调函数也可以使用 php 函数
$arr = [
'aa',
'bc',
'Ad'
];
$res = array_map('strtoupper', $arr);
print_r($res);

array_filter 函数的介绍

使用回调函数过滤数组
格式:array_filter(array, callback)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$arr = [
[
'id' => 1,
'name' => 'zhang',
],
[
'id' => 2,
'name' => 'lisi'
],
[
'id' => 3,
'name' => 'joe'
]
];
$res = array_filter($arr, function($val) {
if ($val['id'] > 1) {
return $val;
}
});
print_r($res);

array_reduce 函数的介绍

使用回调函数迭代将函数转化为单一的值
格式:array_reduce(array, callback)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
$arr = [
[
'id' => 1,
'name' => 'zhang',
],
[
'id' => 2,
'name' => 'lisi'
],
[
'id' => 3,
'name' => 'joe'
]
];
$res = array_reduce($arr, function($str, $val) {
return $str .= $val['name'];
});
echo $res; // 迭代调用,将数组的 name 拼接到字符串 $str 中
 
// 还有第三个参数,其实上例中,在第一次迭代的时候,$str 是空的,那么第三个参数,如果将此参数赋给 $str
$res = array_reduce($arr, function($str, $val) {
return $str .= $val['name'];
}, 'result:');
echo $res;

array_walk 函数的介绍

使用自定义函数对数组的元素做回调处理
格式: array_walk(array, callback)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$arr = [
[
'id' => 1,
'name' => 'zhang',
],
[
'id' => 2,
'name' => 'lisi'
],
[
'id' => 3,
'name' => 'joe'
]
];
array_walk($arr, function(&$val, $key) {
return $val['id'] += 10;
});
print_r($arr); // 回调函数中的第一个参数为数组值,第二个为键,原数组改变,返回值为 bool

PHP array 操作函数的更多相关文章

  1. dedecms功能性函数封装(XSS过滤、编码、浏览器XSS hack、字符操作函数)

    dedecms虽然有诸多漏洞,但不可否认确实是一个很不错的内容管理系统(cms),其他也不乏很多功能实用性的函数,以下就部分列举,持续更新,不作过多说明.使用时需部分修改,你懂的 1.XSS过滤. f ...

  2. byte数据的常用操作函数[转发]

    /// <summary> /// 本类提供了对byte数据的常用操作函数 /// </summary> public class ByteUtil { ','A','B',' ...

  3. PHP常用的文件操作函数集锦

    以下是个人总结的PHP文件操作函数.当然,这只是部分,还有很多,我没有列出来. 一 .解析路径: 1 获得文件名:basename();给出一个包含有指向一个文件的全路径的字符串,本函数返回基本的文件 ...

  4. JavaScript中常见的数组操作函数及用法

    JavaScript中常见的数组操作函数及用法 昨天写了个帖子,汇总了下常见的JavaScript中的字符串操作函数及用法.今天正好有时间,也去把JavaScript中常见的数组操作函数及用法总结一下 ...

  5. Runtime机制之结构体及操作函数

    一.动态语言 Objective-C语言是一门动态语言,它将很多静态语言在编译和链接时期做的事放到了运行时来处理.这种动态语言的优势在于:具有灵活性,比如:消息转发,方法交换等.它有一个运行时系统Ob ...

  6. php文件夹与文件目录操作函数

    在php中一些常用的文件夹/文件目录操作函数总结. php文件夹操作函数 string basename ( string path [, string suffix] ) 给出一个包含有指向一个文件 ...

  7. PHP 面试时常考的文件操作函数

    前两天面试的时候,笔试要求写一些文件操作类函数,什么遍历目录获取文件扩展名之类的,回来后大致总结了一下PHP中一些常见的文件操作函数分享一下. 1.使用递归删除目录及目录下所有文件的方法. funct ...

  8. mongo的runCommand与集合操作函数的关系

    除了特殊注释外,本文的测试结果均基于 spring-data-mongodb:1.10.6.RELEASE(spring-boot-starter:1.5.6.RELEASE),MongoDB 3.0 ...

  9. STL容器能力一览表和各个容器操作函数异常保证

    STL容器能力一览表 Vector Deque List Set Multiset map Multimap 典型内部 结构 dynamic array Array of arrays Doubly ...

随机推荐

  1. Linux下Nginx+Tomcat负载均衡和动静分离配置要点

    本文使用的Linux发行版:CentOS6.7 下载地址:https://wiki.centos.org/Download 一.安装Nginx 下载源:wget http://nginx.org/pa ...

  2. 一种全新的屏幕适配方法 自动百分比适配 一切px说了算

    看hongyang的博客 发现他的一个按百分比适配的方案 : 库地址https://github.com/hongyangAndroid/AndroidAutoLayout 博客地址http://bl ...

  3. cookie学习指南

    一.什么是cookie cookie也叫HTTP cookie,最初是用来客户端和服务器端进行会话用的,由于HTTP是一种无状态的协议,为了维持用户和跟踪用户信息,所以引入了cookie和sessio ...

  4. Javascript读写文件

    <script type="text/javascript" language="javascript"> //读文件 function readF ...

  5. awk 用法(使用入门)

    转自:http://www.cnblogs.com/emanlee/p/3327576.html awk 用法:awk ' pattern {action} '  变量名    含义 ARGC   命 ...

  6. Java面试之SpringMVC总结以及在面试中的一些问题.

    1.简单的谈一下SpringMVC的工作流程? 流程 1.用户发送请求至前端控制器DispatcherServlet 2.DispatcherServlet收到请求调用HandlerMapping处理 ...

  7. json使用

    json是存储和交换文本信息的语法,类似 XML,比 XML 更小.更快,更易解析 json 可通过 JavaScript 进行解析 json 数据可使用 AJAX 进行传输 //读取var JSON ...

  8. <<< Tomcat运行提示The server does not support version 3.0

    导入了一个项目,运行Tomcat出现此错误大致由于当前导入项目服务器不支持J2ee版本 原因是导入项目的Tomcat版本是6.0,Tomcat 6.0仅支持到Servlet 2.5,而此时项目是3.0 ...

  9. HTML-一个网页的头部的大概框架(完善ing)

    正常情况下,一个头部(考虑兼容.响应.title图标的需求),所要填写的内容如下: <!DOCTYPE html> <html> <head> <meta c ...

  10. Echart的简单例子

    [转载自:http://echarts.baidu.com/echarts2/doc/start.html] <%@ page language="java" content ...