我正在尝试创建一个函数,将两个不同长度的数组相互比较,如果它们匹配,则执行一些操作。 Array1,cell1与array2,cell1,cell2,cellN ...比较Array1,cell2比较array2,cell1,cell2,cellN ...
类似于此的东西:
if(array1[$i]==array2[])
{
// Some actions...
}
如何实施?
答案 0 :(得分:6)
PHP有in_array
用于在数组中搜索特定值。那么
foreach ($array1 as $search_item)
{
if (in_array($search_item, $array2))
{
// Some actions...
break;
}
}
答案 1 :(得分:3)
你可以通过PHP函数array_diff获得数组的差异。
<?php
$array1 = array("a" => "green", "red", "blue", "red");
$array2 = array("b" => "green", "yellow", "red");
$result = array_diff($array1, $array2);
print_r($result);
?>
结果
Array
(
[1] => blue
)
答案 2 :(得分:2)
您可以使用嵌套循环。
for($i=0; $i<count($array1); $i++){
for($j=0; $j<count($array2); $j++){
if($array1[$i] == $array2[$j]){
//some action here
}
}
}
答案 3 :(得分:1)
请更正错误。我将比较数组值分别与其配对的数据进行比较
if((cardnumb1 [1] == 123456789)&amp;&amp;(passcode [1] == 1234))
else if ((cardnumb1[2]==987654321) && (passcode[2]==4567))
else if ((cardnumb1[3]==123789456) && (passcode[3]==7890))
答案 4 :(得分:0)
即使回答我认为,仅供参考,很高兴知道你可以:
$array_1 = array(1,2,3,4,5);
$array_2 = array(2,4,6,8);
foreach (array_intersect($array_1,$array_2) as $match){
//do something
}
注意:可能会给关联数组带来一些问题。