17
A
回答
31
$new_array = array_diff($arrayB, $arrayA);
將所有元素從$arrayB
是不在$arrayA
返回數組。
要做到這一點與關聯數組使用array_diff_assoc()
。
要刪除單個值使用:
unset($array[$key]);
當然你也可以循環,這樣做的陣列功能等同,但有沒有點在中。
1
$array1 = array("a" => "green", "red", "blue", "red");
$array2 = array("b" => "green", "yellow", "red");
$result = array_diff($array1, $array2);
print_r($result);
2
array_diff函數會爲你做這個。
5
這取決於你的意思是「刪除」。
您可以使用unset()函數從您的數組中刪除鍵,但這不會重新索引它。因此,例如,如果您有:
$a = array(1 => 'one', 2 => 'two', 3 => 'three');
,你再調用
unset($a[2]);
你的東西落得像
(1 => 'one', 3 => 'three');
如果您需要數組順序索引,你可以取出未設置的數組並將其饋入array_values(),這將返回一個具有順序索引鍵的新數組。
回到您的原始場景,正如其他人所看到的,array_diff將爲您完成這項工作,但請注意,它不會執行索引檢查。如果你需要這個,請改用array_diff_assoc。
1
我來accros這篇文章尋找一種方法來從數組中刪除一個單一的值(標題說明)。這裏是一個直接的方式,假設值,除去在數組中:
$list = array('foo', 'bar', 'yay', '\o/');
$toremove = 'foo';
unset($list[array_search($toremove, $list)]);
雖然這將引發錯誤,如果要刪除的元素不是陣列的一部分。
另一種解決方案,但並沒有真正優化的性能明智,那就是:
$list = array('foo', 'bar', 'yay', '\o/');
$toremove = 'foo';
$list = array_flip($list);
unset($list[$toremove]);
$list = array_flip($list);
不管怎樣,也許創建與單個值的數組作爲使用和array_diff受到大家的建議這裏是更快,更高效。
1
也許一個簡單而快捷的解決方案是這樣的。一個簡單的重複,可以刪除(取消設置)數組中的多個值。
// Your array
$list = array("apple", "orange", "strawberry", "lemon", "banana");
// Initilize what to delete
$delete_val = array("orange", "lemon", "banana");
// Search for the array key and unset
foreach($delete_val as $key){
$keyToDelete = array_search($key, $list);
unset($list[$keyToDelete]);
}
相關問題
- 1. 如何從PHP中的數組中刪除重複值?
- 2. 如何從PHP中的數組中刪除值?
- 3. PHP從單個數組中刪除值?
- 4. 從數組中刪除值php
- 5. PHP:從嵌套數組中刪除值
- 6. 如何從數組中刪除空值?
- 7. 如何從數組中刪除空值?
- 8. PHP,從數組中刪除?
- 9. PHP從數組中刪除
- 10. 如何從PHP中的數組中刪除子數組?
- 11. 如何從php中的大數組中刪除子數組?
- 12. 從數組中刪除值?
- 13. 從數組中刪除值
- 14. 從數組中刪除值
- 15. 從數組中刪除值
- 16. 如何從cookie數組中刪除數組中的值?
- 17. PHP:如何從數組中刪除/刪除密鑰
- 18. 如何刪除一個鍵並從PHP數組中返回值?
- 19. 如何從數組json php中刪除值?
- 20. 如何從數組中刪除數組?
- 21. php刪除數組中的值
- 22. 如何刪除數組中的double值?
- 23. 在PHP中從嵌套的foreach中刪除數組的值
- 24. 如何從多維數組中刪除一個空數組php
- 25. 基於值從數組中刪除值?
- 26. 如何從php中的對象數組中刪除元素?
- 27. 如何從PHP中的關聯數組中刪除元素
- 28. 如何從PHP中刪除數組中的索引?
- 29. 從數組中刪除重複的值
- 30. 如何從python中的數組中刪除空值
我忍不住,但我一直想知道同樣的事情+1在這個問題上 – JasonDavis 2009-08-17 14:12:30