Совпадение 2 ключей массивов и показ значения второго массива

У меня есть два массива, которые мне нужно сопоставить и опубликовать результат.

$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

Решение

В вашем коде, откуда берется $ 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

Другие решения

В вашем случае вы можете использовать как это

  $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

2

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector