我想在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/>";
}
非常感謝。它像魅力一樣工作。現在我得到了我做錯了什麼,並使整個過程變得複雜 – 2012-07-18 12:10:13
因爲我有一個像下面這樣的文本鍵值的數組。 (INT)0 =>對象(stdClass的){ 國家> '印度' 訪問=> '12' newVisits => '9' percentNewVisits =>(INT)75 }, – 2012-07-18 12:10:43
我還可以使用相同的?因爲我們將它用作關鍵值對? – 2012-07-18 12:11:08