PHP_動態二維陣列

/**

* 動態多組陣列資料合併以及分類

* 1.可設定資料中任意陣列為 Key

* 2.如 Key 陣列內有重複的值,會以三維陣列的方式丟出結果,

* 達到資料分類的情況

* 3.因為資料多寡關係會有禿然輸出格式異變的情況,

* 所以加入了一個強制丟出三維陣列結果的參數

*

* 資料型態為一個二維陣列如

* $array = array(

* array('Bill','Lisa','Tre'),

* array(21,22,23),

* array('Male','Female','Male'), <- 這就是上述第二點的狀況

* array('Customer Service Rep','Intranet Site Admin','Mailroom Geek'),

* );

*

* @param 陣列型態資料 $arr

* @param 設定為 Key 的陣列 $df

* @param 強制輸出為三維陣列 可為 0 & null 以外值啟用 $coerce

* @return Array

*/

function array_data_classify($arr=array(),$df='',$coerce=''){

if(!$df){$df=0;}

$chk = (count($arr[$df]) == count(array_unique($arr[$df])) &&

$coerce == '')? 0 : 1;

switch ($chk) {

case 0:

foreach ($arr as $key=>$data){

foreach ($data as $key1=>$data1){

if($key != $df){

$rs[$arr[$df][$key1]][] = $data1;

}

}

}

break;

case 1:

foreach ($arr as $key=>$data){

foreach ($data as $key1=>$data1){

if($key != $df){

$rs_t[$arr[$df][$key1]][$key1][] = $data1;

}

}

}

foreach ($rs_t as $key=>$data){

foreach ($data as $data1){

$rs[$key][] = $data1;

}

}

break;

}

return $rs;

}

0 意見:

 
Designed by: Newwpthemes.com | Bloggerized by Dhampire