使用foreach内部的foreach比较两个数组键

时间:2013-09-08 15:56:55

标签: php foreach

我想在foreach里面尝试foreach 这是我的简单尝试: -

<?php
$a = array();
$a[0] = "a";
$a[1] = "b";
$a[2] = "y";
$a[3] = "z";
$b= array();
$b[0]=0;
$b[1]=1;
foreach ($a as $ak => $av) {
    foreach($b as $bk =>$bv)
    {
        if($ak == $bk)
        echo "match<br>";
    }
    echo "not match<br>";
}
?>

并返回输出: -

match
not match
match
not match
not match
not match

但我想: -

match
match
not match
not match
not match
not match

我怎么能得到这种类型的o.p.
感谢。

2 个答案:

答案 0 :(得分:1)

不要重新发明轮子!

array_diff_key

答案 1 :(得分:1)

将结果保存在数组中然后排序

$a = array('a','b','y','z');
$b= array();
$res=array();
$b[0]=0;
$b[1]=1;
foreach ($a as $ak => $av) {
    foreach($b as $bk =>$bv)
    {
        if($ak == $bk)
        $res[]="match";
    }
    $res[]="not match";
}
sort($res);
echo '<pre>';
print_r($res);