如何比較2個數組並推送新值。如何比較2個數組並推送新值
也許題目是錯誤的,但我不知道該寫什麼,我希望它沒關係。
這是我的第一個數組。它包含了歐洲郵編多少成員有在郵編
數組1名爲$ Memcooltransactions
Array (
[0] => Array ([zipcode] => 1067 [city] => Copenhagen K [numberofuniqmembers] => 11)
[1] => Array ([zipcode] => 0100 [city] => Tórshavn [numberofuniqmembers] => 1)
)
這是我的第二個陣列。它還包含歐洲郵政編碼多少餐館有在郵編
數組2名爲$ Rescooltransactions
Array (
[0] => Array ([zipcode] => 1067 [city] => Copenhagen K [numberofuniqplaces] => 1)
[1] => Array ([zipcode] => 1074 [city] => København V [numberofuniqplaces] => 1)
)
這是我的代碼,這些陣列放在一起比較。
foreach ($Memcooltransactions as $key)
{
$uniqmember = $key['numberofuniqmembers'];
foreach ($Rescooltransactions as $key2)
{
$uniqres = $key2['numberofuniqspisesteder'];
if($key['zipcode'] === $key2['zipcode'])
{
$samlet = $uniqmember/$uniqres;
$sizeofuniqmem += $uniqmember;
$sizeofuniqres += $uniqres;
$array1[] = array(
'zipcode' => $key['zipcode'],
'city' => $key['city'],
'numberofuniqmembers' => $uniqmember,
'numberofuniqspisesteder' => $uniqres,
);
}
}
}
我的輸出。
Array ( [0] => Array ([zipcode] => 1067 [city] => Copenhagen K [numberofuniqmembers] => 11 [numberofuniqplaces] => 1)
當我試圖抓住無法與新數組進行比較的值時,它會使站點崩潰。這就是爲什麼我從上面的foreach中刪除它。但是,如何在不使站點崩潰的情況下獲得理想的輸出?
所需的輸出
Array (
[0] => Array ([zipcode] => 1067 [city] => Copenhagen K [numberofuniqmembers] => 11 [numberofuniqplaces] => 1)
[1] => Array ([zipcode] => 0100 [city] => Tórshavn [numberofuniqmembers] => 1 [numberofuniqplaces] => 0)
[2] => Array ([zipcode] => 1074 [city] => København V [numberofuniqmembers] => 0 [numberofuniqplaces] => 1)
)
希望你能幫助:)
雞毛撣子 - 我剛剛離開後發生:P – Emissary 2013-03-19 14:10:21
@ M42 ..謝謝。但是有一個錯誤?爲什麼郵政編碼(1067)在您的輸出中出現兩次? – Zaz 2013-03-19 14:41:53
雙重結果出現在結果中:/ – Zaz 2013-03-19 15:17:37