首頁  >  文章  >  後端開發  >  PHP如何取得數組中指定的一列(案例)

PHP如何取得數組中指定的一列(案例)

墨辰丷
墨辰丷原創
2018-05-16 17:12:252312瀏覽

本篇文章主要介紹PHP如何取得陣列中指定的一列,有興趣的朋友參考下,希望對大家有幫助。

對於一個多維數組(以二維數組為例),經常需要獲取到其中的一列,比如有幾條用戶數據,是一個二維數組,現在需要獲取到這幾個用戶的名字,可以有多種方法實作:

$arr = array(
    array(
        'id'=>'101',
        'name'=>'qu',
        'age'=>28
    ),
    array(
        'id'=>'102',
        'name'=>'you',
        'age'=>24
    ),
    array(
        'id'=>'103',
        'name'=>'zheng',
        'age'=>22
    ),
    array(
        'id'=>'104',
        'name'=>'zhu',
        'age'=>23
    )
);

方法一:使用PHP內建函數array_column()實作

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

執行語句:

$result = array_column($arr,'name'); 
print_r($result);

結果如下:

Array 
( 
 [0] => qu 
 [1] => you 
 [2] => zheng 
 [3] => zhu 
)

如果指定了可選參數index_key,那麼input數組中的這一列的值將作為傳回數組中對應值的鍵。

$result = array_column($arr,'name','id'); 
print_r($result);

結果如下:

Array 
( 
 [101] => qu 
 [102] => you 
 [103] => zheng 
 [104] => zhu 
)

方法二:使用PHP內建函數array_map()實作

array array_map ( callable $callback , array $arr1 [, array $... ] )

array_map() 傳回數組,該數組包含了arr1 中的所有單元經過callback 作用過之後的單元。其中第一個參數是一個回呼函數,傳回值是一個數組,該數組的每個元素都數組(arr1)裡面的每個元素經過回調函數(callback)處理了的。

先宣告一個處理函數:

function get_val($arr){ 
 return $arr['name']; 
}

然後作用於array_map()函數:


$result = array_map('get_val' ,$arr);

print_r($result);

執行結果如下:

Array 
( 
 [0] => qu 
 [1] => you 
 [2] => zheng 
 [3] => zhu 
)

此處array_map()的第一個參數是一個回呼函數,而且是事先定義好的有名函數,這裡我們也可以像js一樣使用匿名函數:

$result = array_map(function($v){ 
 return $v['name']; 
},$arr);

其執行結果是一樣的。

相關推薦:

PHP取得陣列指定值得位置

#PHP取得陣列中指定一列的方法

js如何取得陣列並處理php陣列

#

以上是PHP如何取得數組中指定的一列(案例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn