很多情況下,我們資料庫是以二維資料儲存的,但是我們查出來以後,需要轉成一維陣列,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 ...