我有PHP中的數組,我有問題從這個數組中刪除一些元素。它看起來像這樣:PHP如何從陣列中刪除元素 - array_uniqe將不起作用
Array
(
[0] => 2x 633130A
[1] => 2x 525130B
[2] => 2x 591130B
[3] => 2x 963130B
[4] => 2x 813130B (20mm)
[5] => 2x 813130B
[6] => 2x 313130B (12mm)
[7] => 2x 313130B
[8] => 4x 413130B
[9] => 2x 633130B
[12] => 2x 381130A (23mm)
[13] => 2x 381130A
)
現在我想刪除此重複的元素,而毫米參數,你可以看到如下:
FROM =====> TO
Array Array
( (
[0] => 2x 633130A [0] => 2x 633130A
[1] => 2x 525130B [1] => 2x 525130B
[2] => 2x 591130B [2] => 2x 591130B
[3] => 2x 963130B [3] => 2x 963130B
[4] => 2x 813130B (20mm) [4] => 2x 813130B (20mm)
[5] => 2x 813130B <= REMOVE [5] => 2x 313130B (12mm)
[6] => 2x 313130B (12mm) [6] => 4x 413130B
[7] => 2x 313130B <= REMOVE [7] => 2x 633130B
[8] => 4x 413130B [8] => 2x 381130A (23mm)
[9] => 2x 633130B )
[12] => 2x 381130A (23mm)
[13] => 2x 381130A <= REMOVE
)
我試圖array_unique不起作用在這種情況下,因爲元素不完全相同。任何人都可以幫助我如何刪除這些重複的元素?
我會用排序,然後在循環的元素去一個自定義的功能。檢查是元素'n + 1'中有「mm」並刪除項目'n' – 2013-03-11 21:55:07
我可以制定快速解決方案,也許它不是最好的解決方案,但是。 'array_search('mm)',$ array)'對於所有的鍵,取這個值,'substr'它們到需要的值2x 813130B(20mm) - > 2x 813130B;之後它'array_search'這個值並取消設置它們。我認爲可以改進。 – 2013-03-11 21:57:44
如果您將數組作爲PHP代碼提供,以便我們輕鬆複製和粘貼,那將會很不錯。 – MichaelRushton 2013-03-11 22:05:21