首頁  >  文章  >  每日程式設計  >  PHP如何去除數組中的空值? (圖文+影片)

PHP如何去除數組中的空值? (圖文+影片)

藏色散人
藏色散人原創
2018-10-09 14:06:2710864瀏覽

本篇文章主要介紹PHP陣列去空值的兩種方法。

PHP陣列去空可以說是PHP面試題中比較常見的問題了。那麼PHP去除數組中的空值有哪些方法呢?

下面我們透過具體的程式碼範例為大家介紹兩種PHP陣列去空的方法。

首先有一個帶有空格值的數組資料:

<?php
$arr = array(&#39; &#39;, 1, 2, 3, &#39; &#39;, 5);
echo "<pre class="brush:php;toolbar:false">";
print_r($arr);

透過瀏覽器訪問,列印數組如下圖:

PHP如何去除數組中的空值? (圖文+影片)

如圖$arr數組中有六個元素,其中有兩個值為空格元素。

方法一:透過陣列函數array_filter來回調過濾數組空元素的函數

<?php
$arr = array(&#39; &#39;, 1, 2, 3, &#39; &#39;, 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() 函數表示移除字串兩側的空白字元或其他預定義字元。

結果如下圖:

PHP如何去除數組中的空值? (圖文+影片)

圖中所示,我們透過方法一已經成功移除陣列中下標為0和4的空元素。

方法二:透過preg_grep 函數偵測陣列中符合要求的元素並傳回

<?php
$arr = array(&#39; &#39;, 1, 2, 3, &#39; &#39;, 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如何去除數組中的空值? (圖文+影片)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn