2017-01-20 56 views
2

我有两个数组,我需要匹配并发布结果。匹配2数组键和显示第二个数组的值

$arr1 = 1,3,4; 

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

我想要得到的结果显示匹配的密钥(号码相匹配),然后显示的$arr2

值以上应导致标题1,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; 
} 

回答

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"; 
    } 
} 
?> 
+0

我更喜欢在最后的答案。留言Merci。 –

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

相关问题