翻转键并从另一个数组构造值

我有以下两个数组:


$a1 = [56,60];

$a2 = [60 => 'aa', 61 => 'bb', 62 => 'cc', 63 => 'dd'];

我正在尝试申请array_map构建一个如下所示的新数组:


Array

(

    [56] =>        

    [60] => aa

)

基本上我需要的是遍历第一个数组,如果我在第二个数组中找到它,我将获取其对应的值,否则将其设置为空字符串。这array_map是最好的方法吗?


冉冉说
浏览 125回答 1
1回答

BIG阳

一个简单的循环对我来说似乎最简单,使用 array_key_exists()$a1 = [56,60];$a2 = [60 => 'aa',61 => 'bb',62 => 'cc',63 => 'dd'];$new = [];foreach ( $a1 as $key )  {    if ( array_key_exists($key, $a2) ) {        $new[$key] = $a2[$key];    }}print_r($new);结果Array(    [60] => aa)或者如果你真的想要一个空白的出现,这会起作用$a1 = [56,60];$a2 = [60 => 'aa',61 => 'bb',62 => 'cc',63 => 'dd'];$new = [];foreach ( $a1 as $key )  {    $new[$key] = array_key_exists($key, $a2) ? $a2[$key] : null;}print_r($new);结果Array(    [56] =>     [60] => aa)甚至$a1 = [56,60];$a2 = [60 => 'aa',61 => 'bb',62 => 'cc',63 => 'dd'];$new = [];foreach ( $a1 as $key )  {    $new[$key] = $a2[$key] ?? null;}print_r($new);结果Array(    [56] =>     [60] => aa)
打开App,查看更多内容
随时随地看视频慕课网APP