0
這是從另一個問題的延續,我忘了問完整的問題。我做的運氣是因爲我要問錯誤的問題。好吧,我有以下兩個數組array_diff在assoc array上只顯示第一個結果而不是全部
Array ([idAsset] => 10000005 [AssetName] => HP)
Array ([idAsset] => 10000006 [AssetName] => HP Server)
Array ([idAsset] => 10000009 [AssetName] => HP Laptop)
Array ([idAsset] => 10000010 [AssetName] => Office Printer)
Array ([idAsset] => 10000023 [AssetName] => test)
Array ([idAsset] => 10000023 [AssetName] => test)
我這些使用下面的代碼
$firstArray = array();
$secondArray = array();
do{
array_push($firstArray,$array1);
}while($array1 = mysql_fetch_assoc($AssetUp));
do{
array_push($secondArray ,$array2);
}while($array2 = mysql_fetch_assoc($DocUp));
$array3 = array_diff_key($firstArray, $secondArray);
print_r($array3);
然而,這給我留下了以下內容:
Array (
[2] => Array ([idAsset] => 10000006 [AssetName] => HP Server)
[3] => Array ([idAsset] => 10000009 [AssetName] => HP Laptop)
[4] => Array ([idAsset] => 10000010 [AssetName] => Office Printer)
[5] => Array ([idAsset] => 10000023 [AssetName] => test))
這似乎是離開了第一個循環,還包括測試資產
我想留下一個數組,不包括在兩個陣列中找到的項目。例如,從上面的10000023測試將從兩個數組中刪除,留給我$ firstArray中的前4行(這就是爲什麼第一個問題會出錯的原因)我只需要差異而不是相似之處。
是和array_diff_assoc不多維。 – ToBe
如果您將兩個數組都更改爲使用'idAsset'作爲其第一級密鑰,那麼您可以根據該密鑰進行區分。 – ToBe
嗨@Tobe謝謝你的回答。你能否解釋一下,因爲我不認爲我理解你的意思。目前,我從這兩個查詢中要求的第一件事是idAsset –