我有两个数组需要匹配并发布结果。
$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;
}
答案 0 :(得分:2)
在您的情况下,您可以像这样使用
$arr1 = [1,3,4];
$arr2 = [1 => 'Title1', 2 => 'Title2', 3 => 'Title3', 4 => 'Title4'];
foreach($arr1 as $key){
echo "\n". $arr2[$key];
}
您还可以isset
首先检查存在
答案 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";
}
}
?>