本篇文章主要介紹PHP陣列去空值的兩種方法。
PHP陣列去空可以說是PHP面試題中比較常見的問題了。那麼PHP去除數組中的空值有哪些方法呢?
下面我們透過具體的程式碼範例為大家介紹兩種PHP陣列去空的方法。
首先有一個帶有空格值的數組資料:
<?php $arr = array(' ', 1, 2, 3, ' ', 5); echo "<pre class="brush:php;toolbar:false">"; print_r($arr);
透過瀏覽器訪問,列印數組如下圖:
如圖$arr數組中有六個元素,其中有兩個值為空格元素。
方法一:透過陣列函數array_filter來回調過濾數組空元素的函數
<?php $arr = array(' ', 1, 2, 3, ' ', 5); echo "<pre class="brush:php;toolbar:false">"; print_r($arr); print_r(array_filter($arr, "del")); function del($var) { return (trim($var));}
上述程式碼中,我們定義了一個del的方法,然後再透過array_filter() 函數來回調函數過濾數組中的值。
array_filter函數把輸入陣列中的每個鍵值傳給回呼函數。如果回呼函數傳回 true,則把輸入數組中的目前鍵值傳回結果陣列中。數組鍵名保持不變。其中trim() 函數表示移除字串兩側的空白字元或其他預定義字元。
結果如下圖:
圖中所示,我們透過方法一已經成功移除陣列中下標為0和4的空元素。
方法二:透過preg_grep 函數偵測陣列中符合要求的元素並傳回
<?php $arr = array(' ', 1, 2, 3, ' ', 5); echo "<pre class="brush:php;toolbar:false">"; print_r($arr); $ptn = "/\S+/i"; print_r(preg_grep($ptn, $arr));
這裡我們主要用了正規表示式來寫符合的指定要求,然後用preg_grep()函數來傳回符合模式的陣列條目。透過這個方法最終實現PHP數組去空的結果,如下:
有的朋友可能對於正規表示式方面的知識不太清楚,大家可以參考PHP中文網正規表示式手冊來了解學習!
本篇就是關於PHP去除陣列中的空值的兩種方法詳解。
學習更多PHP知識,可以關注PHP中文網PHP影片教學!
以上是PHP如何去除數組中的空值? (圖文+影片)的詳細內容。更多資訊請關注PHP中文網其他相關文章!