在php中,我是php的新手,有人帮我这个吗?
我有两个数组,在Array2
我有两条记录,我想检查Array2
的数据是否在Array1
,我如何检查Array2
的数据Array1
它是否可用!
提前致谢
[items] => Array
(
[0] => Array
(
[abc] => z1
[xyz] => cool
[val] => 2.32
[color] => D
)
[1] // i have 5o records in array1
);
[items] => SearchArray
(
[0] => Array
(
[abc] => z1
[xyz] => cool
[val] => 2.32
[color] => D
)
[1] // i have 2 records
);
答案 0 :(得分:2)
请尝试使用此代码 - 我希望它有所帮助:
$matches = array();
for($i2 = 0; $i2 < count($Array2); $i2++)
{
for($i1 = 0; $i1 < count($Array1); $i1++)
{
$bMatch = TRUE;
foreach($Array1[$i1] as $key => $val)
{
if($Array2[$i2][$key] !== $val)
{
$bMatch = FALSE;
break;
}
}
if($bMatch)
{
$matches[] = array($i2, $i1);
}
}
}
迭代两个数组,比较元素(实际上是子数组),只有当$Array2
的子数组的所有元素都等于{{1}的子数组的所有元素时它们才相等。 1}}。如果找到了匹配项,那么$Array1
对将添加到($i2, $i1)
数组中,因此最后,根据您的示例,您可能会遇到以下情况:
$matches
我希望所做出的假设是恰当的。
答案 1 :(得分:0)
可以使用 array_search 方法。有关更多信息,请查看手册参考:http://php.net/manual/en/function.array-search.php