在這篇文章中,我們將給大家介紹如何在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中的多維數組獲取特定鍵值的方法介紹,希望對需要的朋友有所幫助!
以上就是如何從php多維數組中獲取特定的鍵值?的詳細內容,更多請關注其它相關文章!
更多技巧請《轉發 + 關注》哦!