PHP開發介面響應資料null怎麼過濾?

來源:互聯網
上載者:User
關鍵字 php
響應的資料可能是一維的數組,也可能二維的數組,再json_encode之前,怎麼過濾null?

回複內容:

響應的資料可能是一維的數組,也可能二維的數組,再json_encode之前,怎麼過濾null?

array_filter是只能去除掉一維的數組的null

function null_filter($arr){    foreach($arr as $key=>&$val) {        if(is_array($val)) {            $val = null_filter($val);        } else {            if($val === null){                unset($arr[$key]);            }        }    }    return $arr;}

有現成的函數,預設可以過濾掉所有 ""、null、false
如果單獨只需要過濾掉null,那麼類似如下代碼寫一個回呼函數

function delete_null($vo){    if ($vo==null){        return false;    }    return true;}print_r(array_filter(array("aaa","bbb",null,"ccc"),"delete_null"));

直接array_filter就可以了吧

array_filter其實只能過濾一組數組,但是從資料庫擷取的多數是二維,所以這個還是要自己寫一個函數,可以遞迴實現。

最好的辦法是和開發API的兄弟商量一下,別返回null 返回''也比它強,

$data= \str_replace(':null', ':""', json_encode($data));

樓上說到array_filter,其實array_filter($arr,'strlen')這樣過濾就可以,然後json_encode

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.