php刪除數組中的空值的方法:1、透過foreach或while去除數組中的空值元素;2、透過array_filter函數去除數組中的空值元素。
本文操作環境:Windows7系統、PHP7.1版,DELL G3電腦
php怎麼刪除陣列中的空值?
PHP移除數組中的空值元素(array_filter)
#說來慚愧,以前在去掉數組的空值是都是強寫foreach或while的,利用這兩個語法結構來刪除數組中的空元素,簡單程式碼如下:
<?php foreach($arr as $k=>$v){ if(!$v) unset($arr[$k]); }
事實證明如果數組過大的情況下這樣處理的效率並不高。因為foreach是將目前操作的數組進行copy,每操作一下foreach,都是copy了一個變量,頁面裡面如果有太多的foreach,會是一個很大的消耗。
在網路上閒晃的時候,看到人有提示用array_filter,於是打開手冊看了一下,發現自己一直就守著個寶山卻不知道如何使用。
array_filter函數的功能是利用回呼函數來對陣列進行過濾,如果沒有回呼函數,那麼預設就是刪除數組中值為false的項目。如下範例:
<?php $entry = array( 0 => 'foo', 1 => false, 2 => -1, 3 => NULL, 4 => '' ); print_r(array_filter($entry));
輸出值為:
Array ( [0] => foo [2] => -1 )
建議:PHP裡面最重要的兩個章節應該是陣列運算和字串操作,這兩章裡面的函數都必須熟練,其他的就等用的時候再查吧。
推薦學習:《PHP影片教學》
以上是php刪除數組中的空值的詳細內容。更多資訊請關注PHP中文網其他相關文章!