2016-04-09 216 views
0

刪除特定項目我有這樣的數組:[312, 401, 1599, 3]PHP從陣列

隨着array_diff([312, 401, 1599, 3], [401])我可以刪除一個值,在我的例子我除去值401

但是,如果我有這樣的:[312, 401,401,401,1599,3],如何只刪除一次值401?

這並不重要,如果我刪除第一個或最後一個值,我只需要刪除ONE 401值,如果我想刪除所有401值,我必須刪除三次。

謝謝!

+0

什麼是您的電流輸出?我的意思是要刪除哪一個? –

+0

我的函數刪除所有401個值,si輸出是[312,1599,3] –

+0

,但哪一個必須刪除? –

回答

7

使用array_search您可以獲得第一個與指定值的匹配鍵,然後您可以用unset將其刪除。

if (false !== $key = array_search(401, $array)) { 
    unset($array[$key]); 
} 
+0

謝謝你......! –

0

隨着array_intersect你可以檢索所有匹配鍵一次,使您可以決定哪些具體的其中一人unset刪除。

0

搜索特定的鍵,將其取下:

if (($key = array_search(401, $array)) !== false) { 
    unset($array[$key]); 
} 

人PHP:

array_search

unset