擁有 $ age = array(「Peter」=>「35」,「Ben」=>「37」,「Joe」=>「43」); $ age2 = array(「Peter」=>「Peter」,「Ben」=>「Ben」);PHP數組差異
我想要一個輸出: $ age = array(「Peter」=>「35」,「Ben」=>「37」); //沒有Joe並且索引相同
擁有 $ age = array(「Peter」=>「35」,「Ben」=>「37」,「Joe」=>「43」); $ age2 = array(「Peter」=>「Peter」,「Ben」=>「Ben」);PHP數組差異
我想要一個輸出: $ age = array(「Peter」=>「35」,「Ben」=>「37」); //沒有Joe並且索引相同
因此,您想比較$ age1和$ age2,並從$ age1中刪除任何不在$ age2中的條目?使用array_diff_key()像這樣:
$missingElements = array_diff_key($age2, $age1);
foreach($missingElements as $element) { // For each element NOT in both arrays
$index = $age1.indexOf($element);
unset($age1[$index]);
}
var_dump($age1); // Print on screen
這個PHP函數比較2個陣列的關鍵和收益之差。所以我們遍歷函數返回的每個元素,並從$ age1中移除它們;
聽起來不錯,如果它是一個價值而不是指數?我可以使用array_diff嗎? – user1143217
@ user1143217是的,你可以但從你給我的唯一併發值之間的2是關鍵,所以我比較他們,但你可以使用相同的腳本比較數組的價值。 – FrenchMajesty
爲什麼我得到:解析錯誤:語法錯誤,意外'未設置'(T_UNSET)? – user1143217
我不明白你想做什麼,但$ age2數組並不真的看起來好,有用嗎?如果你只是想從數組中刪除喬使用[unset()](http://php.net/manual/en/function.unset.php) – FrenchMajesty
刪除喬是基於它不存在$ age2數組中,試圖簡化它,但實際的數據更復雜。 – user1143217