Home >Backend Development >PHP Tutorial >How to get specific key value from php multidimensional array?

How to get specific key value from php multidimensional array?

藏色散人
藏色散人Original
2019-02-27 13:53:3811716browse

In this article, we will introduce to you how to get a specific key value array from a multidimensional array in PHP. Here we will use array_column() and array_map() to obtain a specific key value array.

How to get specific key value from php multidimensional array?

#During project development, sometimes we may need to obtain specific keys and values ​​in multi-dimensional arrays. For example, there is a multi-dimensional array, each array has keys such as id, name, email, etc. And you just need to get all the names from the array, so how do you get it?

I will give a complete example below:

$names = array_column($myArray, 'name');

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

Code example:

<?php
  
    $myArray = [
        [
          &#39;name&#39; => &#39;Paresh&#39;,
          &#39;email&#39; => &#39;paresh@gmail.com&#39;
        ],
        [
          &#39;name&#39; => &#39;Rakesh&#39;,
          &#39;email&#39; => &#39;rakesh@gmail.com&#39;
        ],
        [
          &#39;name&#39; => &#39;Naresh&#39;,
          &#39;email&#39; => &#39;naresh@gmail.com&#39;
        ],
    ];
  
    $names = array_column($myArray, &#39;name&#39;);
    $emails = array_map(function ($ar) {return $ar[&#39;email&#39;];}, $myArray);
  
    print_r($names);
    print_r($emails);
  
?>

Output the specified key value:

Array
(
[0] => Paresh
[1] => Rakesh
[2] => Naresh
)

Array
(
[0] => paresh@gmail.com
[1] => rakesh@gmail.com
[2] => naresh@gmail.com
)

Function introduction:

1. array_column() function Returns the specified value in the array A column of

array_column ( array $input , mixed $column_key [, mixed $index_key = null ] ) : array

array_column(): Returns the column with the key value column_key in the input array. If the optional parameter index_key is specified, then the value of this column in the input array will be returned as The key to the corresponding value in the array.

Parameter input, the multi-dimensional array of the array column needs to be taken out. If an array containing a set of objects is provided, only the public properties will be retrieved directly. In order to also retrieve private and protected properties, the class must implement the __get() and __isset() magic methods.

column_key, the column that needs to return a value, it can be the column index of the index array, or the key of the column of the associative array, or it can be the attribute name. It can also be NULL, in which case the entire array will be returned (very useful when used with the index_key parameter to reset the array key)

index_key, as the index/key column of the returned array, it can be the column's Integer index, or string key value.

Return value: Return a single column array from a multidimensional array.

2. array_map() function Apply a callback function to each element of the array

array_map ( callable $callback , array $array1 [, array $... ] ) : array

array_map(): Returns an array, which is array1 The array after applying the callback function to each element. The number of callback function parameters and the number of arrays passed to array_map() must be the same.

Parameter callback, callback function, is applied to each element in each array.

array1, array, traverse and run the callback function...Array list, each traverse and run the callback function.

Return value: Return array, containing all elements of array1 after callback function processing.

Related recommendations: "PHP Tutorial"

This article is about the method of obtaining specific key values ​​​​from multi-dimensional arrays in php. I hope it will be helpful to friends who need it. Helped!

The above is the detailed content of How to get specific key value from php multidimensional array?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn