網頁

2013年4月30日

[php] 善用array_map函數做資料處理

當陣列資料要有規則的處理時,除了可以一筆一筆處理外,也可以配合使用array_map函數做處理,使用array_map優點在於可以多次使用,免去重覆寫程式碼的困擾。
範例:
$MyArr = array("2013-05-01", "2013-05-02", "2013-05-03", "2013-05-04");
//使用foreach一筆一筆處理
$MyDate = array();
foreach ($MyArr as $d){
    list($y, $m, $d) = explode("-", $d);
    $MyDate[] = $y."年".$m."月".$d."日";
}
print_r($MyDate);
//使用array_map函數處理
$MyDate = array();
function fmt($date) {
    list($y, $m, $d) = explode("-", $date);
    return $y."年".$m."月".$d."日";
}
$MyDate = array_map("fmt", $MyArr);
print_r($MyDate);
使用兩種方式的輸出結果都一樣,差別在於使用array_map函數可以重覆使用,雖然程式碼稍長,但是好處應該勝過缺點。