PHP去除數組中的空值元素(array

來源:互聯網
上載者:User

說來慚愧,以前在去掉數組的空值是都是強寫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數組中的元素(unset,array_splice)?
  • php清除數組中的空值元素
  • php在數組中尋找某個值是否存在(in_array(),array_search(),array_key_exists())
  • php如何刪除數組的第一個元素和最後一個元素
  • PHP合并數組+與array_merge的區別
  • php壓入元素到數組頭部(array_unshift的用法)
  • php擷取數組的最後一個元素
  • 二維數組去除重複值和array_unique函數


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.