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. nodejs中使用RabbitMq消息中心系统的方式

    方式一:通过npm安装amqp库 方式二:通过rabbit.js库http://www.squaremobius.net/rabbit.js/ AMQP:高级消息队列协议,是应用层协议的一个开放标准, ...

  2. 【转】【MySql】MySql优化要点

    如今随着互联网的发展,数据的量级也是撑指数的增长,从GB到TB到PB.对数据的各种操作也是愈加的困难,传统的关系性数据库已经无法满足快速查询与插入数据的需求.这个时候NoSQL的出现暂时解决了这一危机 ...

  3. Python-18-Django 基础篇

    1. Web 框架介绍 具体介绍Django之前,必须先介绍WEB框架等概念. Web框架:通俗地讲,就是别人已经设定好的一个web网站模板,你学习它的规则,然后「填空」或「修改」成你自己需要的样子. ...

  4. Matlab && C-Mex Round 1

    前言:本篇文章主要通过一个简单的例子程序对C-Mex进行一个初步的说明.前期的环境搭建(包括安装Matlab和gcc编译器)就不在这里赘述了. 在看文章之前,建议初学者先检查一下Matlab的mex配 ...

  5. CSS代码实例:用CSS代码写出的各种形状图形

    一共收集整理了图形20个,比较实用,同时也为了熟悉CSS的代码.整合了一下,有错误欢迎指出. 1.正方形 #square { width: 100px; height: 100px; backgrou ...

  6. 万能的林萧说:我来告诉你,一个草根程序员如何进入BAT。

    引言 首先声明,不要再问LZ谁是林萧,林萧就是某著名程序员小说的主角名字. 写这篇文章的目的其实很简单,算是对之前LZ一篇文章的补充和完善. 之前LZ写过一篇<回答阿里社招面试如何准备,顺便谈谈 ...

  7. NSURLConnection的使用

    一:NSURLConnection(IOS9.0已经弃用)是早期apple提供的http访问方式.以下列出了常用的几个场景:GET请求,POST请求,Response中带有json数据 对于NSURL ...

  8. Function构造函数

    使用Function构造函数, 也能够创建函数, 和使用关键字function定义函数有几点区别: 使用function关键字这样定义函数: var f = function(x,y) {return ...

  9. AOJ DSL_2_D Range Update Query (RUQ)

    Range Update Query 数列 A = {a0,a1 ,...,an−1} に対し.次の2つの操作を行うプログラムを作成せよ. update(s,t,x): as,as+1,...,at  ...

  10. gulp-rev-collector自定义修改rev-manifest.json后替换不成功的问题分析

    由于项目需要,我要把common.js替换成build.min.js,接着后面才用到build.min.js=>build-te234ds.min.js这样的形式替换,但是我发现怎么替换都不能把 ...