如何在第一个数组数据中查找第二个数组数据?
How to Search Second Array Data in First Array Data?
php,我是php的新人,有人帮我吗?
我有两个数组,在 Array2
我有两条记录,我想检查 Array2
的数据是否在 Array1
中,我如何检查 Array2
的数据Array1
可用与否!
提前致谢
数组 1
[items] => Array
(
[0] => Array
(
[abc] => z1
[xyz] => cool
[val] => 2.32
[color] => D
)
[1] // i have 5o records in array1
);
数组 2
[items] => SearchArray
(
[0] => Array
(
[abc] => z1
[xyz] => cool
[val] => 2.32
[color] => D
)
[1] // i have 2 records
);
可以用array_search的方法。有关详细信息,请查看手册参考:http://php.net/manual/en/function.array-search.php
请尝试此代码 - 我希望它能有所帮助:
$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
的子数组的所有元素都等于来自 $Array2
的子数组的所有元素时,它们才相等$Array1
。如果找到匹配项,则将 ($i2, $i1)
对添加到 $matches
数组中,因此最后,根据您的示例,您将得到如下内容:
$matches => array (
[0] => array (0, 0)
...
)
我希望所做的假设是正确的。
php,我是php的新人,有人帮我吗?
我有两个数组,在 Array2
我有两条记录,我想检查 Array2
的数据是否在 Array1
中,我如何检查 Array2
的数据Array1
可用与否!
提前致谢
数组 1
[items] => Array
(
[0] => Array
(
[abc] => z1
[xyz] => cool
[val] => 2.32
[color] => D
)
[1] // i have 5o records in array1
);
数组 2
[items] => SearchArray
(
[0] => Array
(
[abc] => z1
[xyz] => cool
[val] => 2.32
[color] => D
)
[1] // i have 2 records
);
可以用array_search的方法。有关详细信息,请查看手册参考:http://php.net/manual/en/function.array-search.php
请尝试此代码 - 我希望它能有所帮助:
$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
的子数组的所有元素都等于来自 $Array2
的子数组的所有元素时,它们才相等$Array1
。如果找到匹配项,则将 ($i2, $i1)
对添加到 $matches
数组中,因此最后,根据您的示例,您将得到如下内容:
$matches => array (
[0] => array (0, 0)
...
)
我希望所做的假设是正确的。