【发布时间】:2012-07-18 11:44:55
【问题描述】:
我正在尝试比较和合并 php 中的数组。假设我有两个数组如下
$topCountries1 = array(
array(
'India',
'23',
'34',
'11'),
array(
'USA',
'13',
'24',
'21'),
array(
'Japan',
'13',
'24',
'21'));
$topCountries2 = array(
array(
'France',
'23',
'34',
'11'),
array(
'India',
'13',
'24',
'21'),
array(
'Japan',
'13',
'24',
'21'));
我想合并上述两个数组,这样我就有一组唯一的国家值,如果数组中有重复的国家,它应该添加其他三个字段的值并将其合并。
尝试以下代码 - 但我对逻辑感到困惑。
$topCountries = array_merge($topCountries1, $topCountries2);
$collect = array();
foreach ($topCountries as $tc) {
echo $count = count($collect);
if ($count > 0) {
foreach ($collect as $c) {
if ($c[0] == $tc[0]) {
echo "match<br/>";
$collect[] = $tc;
} else {
$collect[] = $tc;
echo "no match<br/>";
}
}
} else {
$collect[] = $tc;
}
echo "<br/>";
}
【问题讨论】: