我有 2 个大小不同的数组,在某些情况下,一个数组的元素可能比另一个数组多。但是,我总是需要使用相同的 id 来比较数组。我需要在另一个数组中获取具有相同 id 的另一个值
我已经尝试过了,但是当我在一个循环中比较两个数组时,当另一个数组的元素多于一个时,就会出现问题,因为重复了循环和数据,它不起作用。
这是我尝试过的:
<?php
/// Actual Data Arrays ///
$data_1=array("a1-fruits","b1-apple","c1-banana","d1-chocolate","e1-pear");
$data_2=array("b1-cars","e1-eggs");
///
for ($i=0;$i<count($data_1);$i++)
{
/// Explode ID $data_1 ///
$exp_id=explode("-",$data_1[$i]);
///
for ($h=0;$h<count($data_2);$h++)
{
/// Explode ID $data_2 ///
$exp_id2=explode("-",$data_2[$h]);
///
if ($exp_id[0]=="".$exp_id2[0]."")
{
print "".$data_2[$h]."";
print "<br>";
}
else
{
print "".$data_1[$i]."";
print "<br>";
}
///
}
///
}
?>
我想要以下值:
"a1-fruits"
"b1-cars"
"c1-banana"
"d1-chocolate"
"e1-eggs"
然而,我得到了这个(这不是我想要的):
a1-fruits
a1-fruits
b1-cars
b1-apple
c1-banana
c1-banana
d1-chocolate
d1-chocolate
e1-pear
e1-eggs
我尝试了我所知道的一切,并试图了解如何做到这一点,因为我不明白如何比较这两个数组。另一个问题是,当一种尺寸的元素比另一种尺寸多时,比较总是会出错。
我找到了解决方案并在所有方面工作:
<?php
/// Actual Data Arrays ///
$data_1=array("a1-fruits","b1-apple","c1-banana","d1-chocolate","e1-pear");
$data_2=array("b1-cars","e1-eggs","d1-chocolate2");
///
for ($i=0;$i<count($data_1);$i++)
{
$show="bad";
/// Explode ID $data_1 ///
$exp_id=explode("-",$data_1[$i]);
///
for ($h=0;$h<count($data_2);$h++)
{
/// Explode ID $data_2 ///
$exp_id2=explode("-",$data_2[$h]);
///
if ($exp_id2[0]=="".$exp_id[0]."")
{
$show="ok";
print "".$data_2[$h]."<br>";
}
///
}
if ($show=="bad")
{
print "".$data_1[$i]."";
print "<br>";
}
///
}
?>