如何從php多維數組中獲取特定的鍵值?

2019-11-01     科技i關注

在這篇文章中,我們將給大家介紹如何在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' => '[email protected]'

],

[

'name' => 'Rakesh',

'email' => '[email protected]'

],

[

'name' => 'Naresh',

'email' => '[email protected]'

],

];

$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] => [email protected]

[1] => [email protected]

[2] => [email protected]

)

函數介紹:

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多維數組中獲取特定的鍵值?的詳細內容,更多請關注其它相關文章!

更多技巧請《轉發 + 關注》哦!

文章來源: https://twgreatdaily.com/zh-cn/nTRjJW4BMH2_cNUgtmbm.html