PHP二維陣列降一維函式array column

2021-08-13 20:21:50 字數 2071 閱讀 5141

很多情況下,我們資料庫是以二維資料儲存的,但是我們查出來以後,需要轉成一維陣列,php有這麼乙個函式array_column,能實現大部分的 二維陣列轉一維陣列

//php版本》= 5.5

//php二維陣列降一維函式

$student =array(

array('no' => 301

,'name'=>'zhangsan'

,'score'=>'60'),

array('no' => 302

,'name'=>'zhaoliu'

,'score'=>'98'),

array('no' => 305

,'name'=>'lisi'

,'score'=>'92'),

array('no' => 308

,'name'=>'wangwu'

,'score'=>'71'),

array('no' => 325

,'name'=>'zhzousa'

,'score'=>'80'),

);

$arr1

= array_column($student

,null,

'no');

print_r($arr1);

列印結果:

array

([301] => array

([no] => 301

[name] => zhangsan

[score] => 60

)[302] => array

([no] => 302

[name] => zhaoliu

[score] => 98

)[305] => array

([no] => 305

[name] => lisi

[score] => 92

)[308] => array

([no] => 308

[name] => wangwu

[score] => 71

)[325] => array

([no] => 325

[name] => zhzousa

[score] => 80))

$arr2

= array_column($student

,'no');

print_r($arr2);

列印結果:

array

([0] => 301

[1] => 302

[2] => 305

[3] => 308

[4] => 325

)注意:引數分別是(二維陣列,作為值的列名,作為鍵的列名)

$arr3 = array_column($student

,'name'

,'no');

print_r($arr3);

列印結果:

array

([301] => zhangsan

[302] => zhaoliu

[305] => lisi

[308] => wangwu

[325] => zhzousa

)【注意】:使用 $res_arr = array_column($arr,'value_field','key_field') 時

key_field 如果是純數字的字串,在轉換結果裡會被預設轉換成為 數字索引,如果此時使用

foreach($res_arr as $key=>$val){}

獲取到的 $key 將會是純數字,如果用來查詢長編號的字串字段對應的mysql 資料庫 會查詢異常,返回不符合條件的資料

所以使用key查詢時,請確定查詢欄位的型別

php二維陣列轉換一維陣列

假設有下面乙個二維陣列 user array 0 array id 100,username a1 1 array id 101,username a2 2 array id 102,username a3 3 array id 103,username a4 4 array id 104,user...

php 二維陣列轉一維陣列

created on 2012 3 19 to change the template for this generated file go to window preferences phpeclipse php code templates multimap array 1 array qg i...

php求二維陣列,php 二維陣列求和

php 二維陣列求和 關注 117 答案 1 mip版 解決時間 2021 01 31 01 57 提問者情癌晚期 2021 01 30 01 47 array 194 array id 194 pos id 0 user id 4 site id 3 e ticket type diancard ...