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

array_map()

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

基礎(chǔ)語法結(jié)構(gòu):
array_map(callback $callback ,array $array_1 [,array $array_2....])

返回新的數(shù)組,不會(huì)修改原來的數(shù)組;


語法結(jié)構(gòu)1:
array array_map(callback $callback ,array $array)

實(shí)例:

$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 );

注意:

返回的數(shù)組鍵名同被遍歷的數(shù)組形同,順序也相同;
不會(huì)改變?cè)袛?shù)組;


語法結(jié)構(gòu)2:

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

同時(shí)遍歷多個(gè)數(shù)組元素;

實(shí)例:

$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.多個(gè)數(shù)組同時(shí)操作的時(shí)候要注意傳遞的順序;
2.返回?cái)?shù)組的鍵名是從0開始的索引數(shù)組;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容