Php 2个阵列的一致性检查问题

Php 2个阵列的一致性检查问题,php,arrays,Php,Arrays,在两个阵列之间进行一致性检查时,需要做什么,以便不跳过异常之后的位置。是否有人可以发布一个循环,循环2个数组并打印值是否匹配 $arr1 = array('apple', 'pear', 'banana', 'orange', 'melon', 'kiwi'); $arr2 = array('apple', 'pear', 'banana', 'melon', 'kiwi'); $count = 0; //keeps track of position to be checked in arra

在两个阵列之间进行一致性检查时,需要做什么,以便不跳过异常之后的位置。是否有人可以发布一个循环,循环2个数组并打印值是否匹配

$arr1 = array('apple', 'pear', 'banana', 'orange', 'melon', 'kiwi');
$arr2 = array('apple', 'pear', 'banana', 'melon', 'kiwi');
$count = 0; //keeps track of position to be checked in arrays.
在这种情况下,循环应该打印true、true、true、false、true、true。应注意的是,当发现异常时,将删除该值,以便使用归一化位置检查未来值,以说明删除的错误值。我尝试使用unset()后跟数组_values(),但总是跳过下一个值。对我来说,这是一个一个接一个的噩梦。有什么想法吗

$count = 0;
$lines = file("url");
foreach($lines as $line_num => $line){
    if(strcmp(sub($line, 0, 3), 'gis') == 0){
        $site = sub($line, 3, 7); //get latitude eg. gis4021
        if($site != $sites[$count]){
            //deal with case where $site does not equal expected value in base array
        }
        else//$sites equals expected value in array
            $count++;
    }
}

这是可行的,但显然您需要添加某种类型的错误检查,例如查看
$arr2
是否不长于
$arr1

$arr1=数组('apple','pear','banana','orange','sample','kiwi');
$arr2=数组('苹果'、'梨'、'香蕉'、'瓜'、'猕猴桃');
$count=计数($arr1);
对于($i=0,$j=0;$i<$count;$i++){
如果($arr1[$i]==$arr2[$j]){
$j++;
打印“真”;
继续;
}
打印“假”;
}
代码输出
true-false-true


正如您所见,它会遍历
$arr1
的所有条目,因为
$i
总是递增的,但是,
$j
$arr2
的迭代器,只有在找到匹配值时才会递增。

您的实际目标是什么?是为了找到两个数组中都存在的值吗?如果是的话,对您来说会更好?您还应该发布您正在使用的不起作用的代码。您不需要修改任何一个数组来完成所描述的内容。
$arr2
是否始终是“参考”数组?i、 e.具有所需值的数组将很快使用实际代码进行编辑
$arr1 = array('apple', 'pear', 'banana', 'orange', 'melon', 'kiwi');
$arr2 = array('apple', 'pear', 'banana', 'melon', 'kiwi');

$count = count($arr1);
for ($i = 0, $j = 0; $i < $count; $i++) {
    if ($arr1[$i] == $arr2[$j]) {
        $j++;
        print 'true ';
        continue;
    }

    print 'false ';
}