在這篇文章中,我們將介紹如何在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中文網其他相關文章!