匹配2个数组键并显示第二个数组的值

时间:2017-01-20 16:46:22

标签: php arrays

我有两个数组需要匹配并发布结果。

$arr1 = 1,3,4;

$arr2 = 1 => 'Title1'
        2 => 'Title2'
        3 => 'Title3'
        4 => 'Title4'

我想让结果显示匹配的键(数字匹配),然后显示$arr2的值

以上应该会产生Title1,Title3,title4

我试过array_key_exists,但我觉得我对简单的事情感到困惑。

       foreach($arr1 as $a)
        {
            if(array_key_exists($a, $arr2))
            {
                $new[$a] = $arr2[$a];
                    }
        }   
$l=1;
foreach($new as $n => $ob){

    echo '<p>'.$new[$l][0].'">'.$new[$l][0].'</p>';
    ++$l;
}

2 个答案:

答案 0 :(得分:2)

在您的情况下,您可以像这样使用

  $arr1 = [1,3,4];
  $arr2 = [1 => 'Title1', 2 => 'Title2', 3 => 'Title3', 4 => 'Title4'];
   foreach($arr1 as $key){
      echo "\n". $arr2[$key];
   }   

您还可以isset首先检查存在

现场演示:https://eval.in/720926

答案 1 :(得分:0)

在你的代码中,$ d来自哪里?它应该是$ a。 并且$ n可以用来代替$ l(这是没用的),因此不会增加。

为简化您的代码,您可以写一下:

<?php
foreach($arr1 as $k){
    if(array_key_exists($k, $arr2)){
    // or : if(isset($arr2[$k])){
        echo $arr2[$k] . "\n";
    }
}
?>