• 技术文章 >后端开发 >php教程

    如何从php多维数组中获取特定的键值?

    藏色散人藏色散人2019-02-27 13:53:38原创7087
    在这篇文章中,我们将给大家介绍如何在php中从多维数组中获取特定的键值数组。这里我们将使用array_column()和array_map()获得特定的键值数组。

    我们在项目开发过程中,有时候可能会需要在多维数组中获取特定的键和值。比如有一个多维数组,每个数组都有id, name, email等键。而你只需要从数组中获取所有名称,那么你如何去获取它呢?

    下面我举个完整的例子:

    $names = array_column($myArray, 'name');
    
    $emails = array_map(function ($ar) {return $ar['email'];}, $myArray);

    代码示例:

    <?php
      
        $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教程

    本篇文章就是关于从php中的多维数组获取特定键值的方法介绍,希望对需要的朋友有所帮助!

    以上就是如何从php多维数组中获取特定的键值?的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    上一篇:学php和web前端哪个好? 下一篇:如何使用php设置文件上传的大小限制
    大前端线上培训班

    相关文章推荐

    • php如何删除当前目录及其目录下的所有文件?(代码)• php二维数组排序保持键名不变的方法介绍(代码示例)• 如何在PHP中旋转并保存图像?• php header函数怎么用

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网