2015-11-03 56 views
0

我有數組:如何刪除在PHP數組中以x開頭的所有內容?

Array 
(
    [0] => #EX-X 
    [1] => #EX-DURATION:5 
    [2] => X-MEDIA 
    [3] => #EXDATE-TIME 
    [4] => YEAR 
    [5] => color 
    [6] => #EX-DURATION:10 
) 

如何刪除與#EX在陣列開始一切嗎?

想不通!

最終結果應該是:

Array 
(
    [0] => X-MEDIA 
    [1] => YEAR 
    [2] => color 
) 
+1

你試過的任何代碼示例? – prasun

+0

@prasun不,沒有任何樣品。 – yunior23

回答

5

隨着array_filter

$arrayFiltered = array_filter($yourArray, function($val) { 
    return strpos($val, '#EX') !== 0; 
}); 
$resultArray = array_values($arrayFiltered); 
+0

乾淨整潔的解決方案。在...之前切勿使用'array_filter()'以備將來使用。 – user2959229

+0

糟糕!如果你想在這之後連續的數組鍵,你還需要array_values($ arrayFiltered) – danjam

+0

謝謝,漂亮而乾淨的代碼。我嘗試'array_filter',但沒有嘗試'strpos'函數。 – yunior23

1

一個簡單的循環,在每個值的起始爲#EX的支票。

$array = array(...); //array with "dirty" values 
$new_array = array(); 
foreach($array AS $val) 
{ 
    if(substr($val, 0, 3) != '#EX') 
    { 
     $new_array[] = $val; 
    } 
} 
相關問題