map中获取数组_如何从php多维数组中获取特定的键值?
点击蓝字关注我们!每天获取最新的编程小知识!
源 / php中文网 源 / www.php.cn
在这篇文章中,我们将给大家介绍如何在php中从多维数组中获取特定的键值数组。这里我们将使用array_column()和array_map()获得特定的键值数组。
(查看原文请点击本文末尾左下角:
我们在项目开发过程中,有时候可能会需要在多维数组中获取特定的键和值。比如有一个多维数组,每个数组都有id, name, email等键。而你只需要从数组中获取所有名称,那么你如何去获取它呢?
下面我举个完整的例子:
$names
= array_column(
$myArray
,
'name'
);
$emails
=
array_map
(
function
(
$ar
) {
return
$ar
[
'email'
];},
$myArray
);
代码示例:
$myArray
= [
[
'name'
=>
'Paresh'
,
'email'
=>
'paresh@gmail.com'
],
[
'name'
=>
'Rakesh'
,
'email'
=>
'rakesh@gmail.com'
],
[
'name'
=>
'Naresh'
,
'email'
=>
'naresh@gmail.com'
],
];
$names
= array_column(
$myArray
,
'name'
);
$emails
=
array_map
(
function
(
$ar
) {
return
$ar
[
'email'
];},
$myArray
);
print_r(
$names
);
print_r(
$emails
);
?>
输出指定的键值:
Array
(
[0] => Paresh
[1] => Rakesh
[2] => Naresh
)
Array
(
[0] => paresh@gmail.com
[1] => rakesh@gmail.com
[2] => naresh@gmail.com
)
函数介绍:
1、array_column()函数返回数组中指定的一列
array_column (
array
$input
, mixed
$column_key
[, mixed
$index_key
= null ] ) :
array
array_column():返回input数组中键值为column_key的列, 如果指定了可选参数index_key,那么input数组中的这一列的值将作为返回数组中对应值的键。
参数input,需要取出数组列的多维数组。 如果提供的是包含一组对象的数组,只有 public 属性会被直接取出。 为了也能取出 private 和 protected 属性,类必须实现 __get() 和 __isset() 魔术方法。
column_key,需要返回值的列,它可以是索引数组的列索引,或者是关联数组的列的键,也可以是属性名。 也可以是NULL,此时将返回整个数组(配合index_key参数来重置数组键的时候,非常管用)
index_key,作为返回数组的索引/键的列,它可以是该列的整数索引,或者字符串键值。
返回值:从多维数组中返回单列数组。
2、array_map()函数为数组的每个元素应用回调函数
array_map
( callable
$callback
,
array
$array1
[,
array
$... ] ) :
array
array_map():返回数组,是为 array1 每个元素应用 callback函数之后的数组。 callback 函数形参的数量和传给 array_map() 数组数量,两者必须一样。
参数callback,回调函数,应用到每个数组里的每个元素。
array1,数组,遍历运行 callback 函数...数组列表,每个都遍历运行 callback 函数。
返回值:返回数组,包含 callback 函数处理之后 array1 的所有元素。
相关推荐:《PHP教程》
http://www.php.cn/course/list/29.html
本篇文章就是关于从php中的多维数组获取特定键值的方法介绍,希望对需要的朋友有所帮助!
-END-
声明:本文选自「 php中文网 」,搜索「 phpcnnew 」即可关注!
▼
map中获取数组_如何从php多维数组中获取特定的键值?相关推荐
- python输入二维数组_用Python生成二维数组的置换矩阵
我想为一个输入d(一个素数)生成所有的平方置换矩阵.我知道在一般情况下,对于所有的排列都有这样的例子,但是我在寻找满足数学定义的置换矩阵 置换矩阵是根据数字1到d的某种排列将dxd恒等式矩阵的行进行排 ...
- python 二维数组长度_剑指offer二维数组中的查找【Java+Python】
点击上方"蓝字",关注了解更多 二维数组中的查找 1. 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序 ...
- python建立复数数组_深入理解NumPy简明教程---数组1
目前我的工作是将NumPy引入到Pyston中(一款Dropbox实现的Python编译器/解释器).在工作过程中,我深入接触了NumPy源码,了解其实现并提交了PR修复NumPy的bug.在与Num ...
- python 二维数组长度_谈一谈多维数组
谈 一 谈 多 维 数 组 在各种语言中,都提供了多维数组.而多维数组又是很让人迷惑的一个语法结构.今天给大家聊一下多维数组使用中的一些问题. 这里,以Python和IDL为主讲解. 多维数组的概念 ...
- c语言二维数组中的周边,【C语言】二维数组中的查找,杨氏矩阵
//二维数组中的查找,杨氏矩阵 //在一个二维数组中,每行都依照从左到右的递增的顺序排序.每列都依照从上到下递增的顺序排序. //请完毕一个函数.输入这种一个数组和一个数,推断数组中是否包括这个数. ...
- 算法013:二维数组中的查找-在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断中是否存在
题目:在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数.示例: 现有 ...
- 《c primer pius》第十章第6题,编写一个程序,初始化一个二维double数组,并利用练习2中的任一函数来把这个数组复制到另一个二维数组(因为二维数组是数组的数组,所以可以使用处理一维数组的
<c primer pius>第十章第6题,编写一个程序,初始化一个二维double数组,并利用练习2中的任一函数来把这个数组复制到另一个二维数组(因为二维数组是数组的数组,所以可以使用处 ...
- java二维数组杨辉三角_实验----Java的二维数组的应用及杨辉三角的编写
(1) 编写一个程序,生成一个10*10的二维随机整数数组,并将该数组的每行最大值保存于一个一维数组中,将每列平均值保存于另外一个一维数组中并分别输出. (2) 编程输出杨辉三角的前10行. 找出一个 ...
- C语言求二维数组平均数,一道JavaScript的二维数组求平均数的题
JavaScript中只支持一维数组,但是可以在数组中嵌套数组来创建二维以至于多维的数组.今天下午在看书时候,发现一道感觉比较有意思的题,就是js中如何求二维数组的列之和和行之和,现在就给大家分享下, ...
最新文章
- API 网关从入门到放弃
- 癌细胞“绑架”神经元帮自己壮大,科学家破译癌细胞分子机制 | 最新Nature封面...
- 程序员,如何摆脱平庸?
- 滚动的组件_微信小程序开发实战(11):滚动组件(picker)
- HALCON示例程序measure_circles.hdev测量圆的半径
- 睡眠音频分割及识别问题(四)--YAMNet简介
- checked exception和unchecked exception区别
- 除了js, 寻求一种完美的语言
- 神经网络填充(padding)
- 【求助】C# Charting控件 画散点图,当所有的点X=0时,X轴的位置画错了,代码如下...
- 书籍写作规范——Word 公式篇
- 现场抽奖小程序_抽奖小程序助手转盘活动微信抽奖系统
- Command line is too long. Shorten command line for Application or also for Spring Boot default...
- 每日一题:16. “气球” 的最大数量 (C++)
- win10 卸载软件 清除注册表 Revo Uninstaller Pro
- 5G消息、聊天机器人和小程序
- torchvision.datasets.FashionMNIST报错[WinError 10054] 远程主机强迫关闭了一个现有的连接
- Arduino与人体感应模块
- matlab共形映射程序,从共形映射角度看Schwarz引理
- GPS公司内部管理系统
热门文章
- 互联网资讯简报2019-05-14
- 数据仓库之电商数仓-- 3.2、电商数据仓库系统(DWS层)
- 中文文本相似度计算工具集
- android 用webView作为编辑器 各种问题
- bzoj1339[Baltic2008]Mafia*
- 浅谈Solr和ElasticSearch建索引性能优化策略
- 关于PreparedStatement.addBatch()方法 (转)
- Google和百度 翻译对比
- Nginx学习之七:通过Nginx社区进行技术交流
- PHP 中 shell_exec() 中的反撇号操作符的变体 可用作后门