array_map()——遍歷數組的鍵值,返回計算后的鍵值數組;

array_map()

遍歷數組的鍵值,把鍵值依書寫的順序傳遞給函數,收集函數的返回值,以數組的形式返回,如果值傳遞一個數組的鍵值給函數,那么返回數組鍵名同傳遞數組鍵名相同;
如果是多個數組同時傳遞鍵值,那么返回的從0開始的索引數組;返回的數組長度同傳遞參數的最長數組相同;
不會修改原始數組;

基礎語法結構:
array_map(callback $callback ,array $array_1 [,array $array_2....])

返回新的數組,不會修改原來的數組;


語法結構1:
array array_map(callback $callback ,array $array)

實例:

$a_personal_age = array('bill'=>33,'tom'=>20,'jack'=>16);

function get_personal_birth($v){
    return 2017-$v;
}

$a_personal_birth = array_map('get_personal_birth',$a_personal_age);

print_r($a_personal_birth);

#output: Array ( [bill] => 1984 [tom] => 1997 [jack] => 2001 );

注意:

返回的數組鍵名同被遍歷的數組形同,順序也相同;
不會改變原有數組;


語法結構2:

array array_map(callback $callback,array $array_1,array $array_2...)

同時遍歷多個數組元素;

實例:

$a_cost = array('volvo'=>100,'BMW'=>200,'BENZ'=>220);
$a_price   = array('volvo'=>500,'BMW'=>700,'BENZ'=>620);

function get_diff($c,$p){
  return $p-$c;
}

print_r(array_map('get_diff',$a_cost,$a_price));

#output : Array ( [0] => 400 [1] => 500 [2] => 400 );

注意:

1.多個數組同時操作的時候要注意傳遞的順序;
2.返回數組的鍵名是從0開始的索引數組;

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容