点击蓝字关注我们!每天获取最新的编程小知识!

源 / 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多维数组中获取特定的键值?相关推荐

  1. python输入二维数组_用Python生成二维数组的置换矩阵

    我想为一个输入d(一个素数)生成所有的平方置换矩阵.我知道在一般情况下,对于所有的排列都有这样的例子,但是我在寻找满足数学定义的置换矩阵 置换矩阵是根据数字1到d的某种排列将dxd恒等式矩阵的行进行排 ...

  2. python 二维数组长度_剑指offer二维数组中的查找【Java+Python】

    点击上方"蓝字",关注了解更多 二维数组中的查找 1. 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序 ...

  3. python建立复数数组_深入理解NumPy简明教程---数组1

    目前我的工作是将NumPy引入到Pyston中(一款Dropbox实现的Python编译器/解释器).在工作过程中,我深入接触了NumPy源码,了解其实现并提交了PR修复NumPy的bug.在与Num ...

  4. python 二维数组长度_谈一谈多维数组

    谈 一 谈 多 维 数 组 在各种语言中,都提供了多维数组.而多维数组又是很让人迷惑的一个语法结构.今天给大家聊一下多维数组使用中的一些问题. 这里,以Python和IDL为主讲解. 多维数组的概念 ...

  5. c语言二维数组中的周边,【C语言】二维数组中的查找,杨氏矩阵

    //二维数组中的查找,杨氏矩阵 //在一个二维数组中,每行都依照从左到右的递增的顺序排序.每列都依照从上到下递增的顺序排序. //请完毕一个函数.输入这种一个数组和一个数,推断数组中是否包括这个数. ...

  6. 算法013:二维数组中的查找-在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断中是否存在

    题目:在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数.示例: 现有 ...

  7. 《c primer pius》第十章第6题,编写一个程序,初始化一个二维double数组,并利用练习2中的任一函数来把这个数组复制到另一个二维数组(因为二维数组是数组的数组,所以可以使用处理一维数组的

    <c primer pius>第十章第6题,编写一个程序,初始化一个二维double数组,并利用练习2中的任一函数来把这个数组复制到另一个二维数组(因为二维数组是数组的数组,所以可以使用处 ...

  8. java二维数组杨辉三角_实验----Java的二维数组的应用及杨辉三角的编写

    (1) 编写一个程序,生成一个10*10的二维随机整数数组,并将该数组的每行最大值保存于一个一维数组中,将每列平均值保存于另外一个一维数组中并分别输出. (2) 编程输出杨辉三角的前10行. 找出一个 ...

  9. C语言求二维数组平均数,一道JavaScript的二维数组求平均数的题

    JavaScript中只支持一维数组,但是可以在数组中嵌套数组来创建二维以至于多维的数组.今天下午在看书时候,发现一道感觉比较有意思的题,就是js中如何求二维数组的列之和和行之和,现在就给大家分享下, ...

最新文章

  1. API 网关从入门到放弃
  2. 癌细胞“绑架”神经元帮自己壮大,科学家破译癌细胞分子机制 | 最新Nature封面...
  3. 程序员,如何摆脱平庸?
  4. 滚动的组件_微信小程序开发实战(11):滚动组件(picker)
  5. HALCON示例程序measure_circles.hdev测量圆的半径
  6. 睡眠音频分割及识别问题(四)--YAMNet简介
  7. checked exception和unchecked exception区别
  8. 除了js, 寻求一种完美的语言
  9. 神经网络填充(padding)
  10. 【求助】C# Charting控件 画散点图,当所有的点X=0时,X轴的位置画错了,代码如下...
  11. 书籍写作规范——Word 公式篇
  12. 现场抽奖小程序_抽奖小程序助手转盘活动微信抽奖系统
  13. Command line is too long. Shorten command line for Application or also for Spring Boot default...
  14. 每日一题:16. “气球” 的最大数量 (C++)
  15. win10 卸载软件 清除注册表 Revo Uninstaller Pro
  16. 5G消息、聊天机器人和小程序
  17. torchvision.datasets.FashionMNIST报错[WinError 10054] 远程主机强迫关闭了一个现有的连接
  18. Arduino与人体感应模块
  19. matlab共形映射程序,从共形映射角度看Schwarz引理
  20. GPS公司内部管理系统

热门文章

  1. 互联网资讯简报2019-05-14
  2. 数据仓库之电商数仓-- 3.2、电商数据仓库系统(DWS层)
  3. 中文文本相似度计算工具集
  4. android 用webView作为编辑器 各种问题
  5. bzoj1339[Baltic2008]Mafia*
  6. 浅谈Solr和ElasticSearch建索引性能优化策略
  7. 关于PreparedStatement.addBatch()方法 (转)
  8. Google和百度 翻译对比
  9. Nginx学习之七:通过Nginx社区进行技术交流
  10. PHP 中 shell_exec() 中的反撇号操作符的变体 可用作后门