兩種去除方法:1、利用array_diff()函數將一個只包含「0」的陣列和原陣列進行比較即可,語法「array_diff($arr, [0])」;2、使用array_filter()函數呼叫回撥函數過濾陣列,語法「function f($var){return($var!==0);}$arr=array_filter($arr,"f");」。
php入門到就業線上直播課:進入學習
API 檔案、設計、偵錯、自動化測試一體化共同作業工具:
本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦
方法1:利用array_diff()函數去除陣列中的0
array_diff() 函數用於比較兩個(或更多個)陣列的值,並返回差集。
array_diff(array1,array2,array3...);
登入後複製
只需要使用一個只包含「0」的陣列和原陣列進行比較即可,語法:array_diff($arr, [0])
範例:
<?php
header('content-type:text/html;charset=utf-8');
$arr=array(1,2,3,0,1,"a","b","c",0,"d","a","c");
echo "原陣列:";
var_dump($arr);
$arr = array_diff($arr, [0]);
echo "去除0後:";
var_dump($arr);
?>
登入後複製
注:array_diff() 函數比較兩個(或更多個)陣列的值(key=>value 中的 value),並返回一個差集陣列,該陣列包括了所有在被比較的陣列(array1)中,但是不在任何其他引數陣列(array2 或 array3 等等)中的值。
方法2:使用array_filter()函數去除陣列中的0
array_filter() 函數用回撥函數過濾陣列中的元素。
該函數把輸入陣列中的每個鍵值傳給回撥函數。如果回撥函數返回 true,則把輸入陣列中的當前鍵值返回給結果陣列。陣列鍵名保持不變。
array_filter ( array $array [, callable $callback [, int $flag = 0 ]] )
登入後複製
引數 | 描述 |
---|---|
array | 必需。規定要過濾的陣列。 |
callback | 可選。規定要用的回撥函數。 |
flag | 可選。決定 callback 接收的引數形式:
|
範例:
<?php header('content-type:text/html;charset=utf-8'); function f($var) { return($var!==0); } $arr=array(1,2,3,0,1,"a","","c",0); echo "原陣列:"; var_dump($arr); $arr = array_filter($arr,"f"); echo "去除0後:"; var_dump($arr); ?>
注:array_filter()函數如果沒有回撥函數,那麼預設就是刪除陣列中值為false的專案。
<?php
header('content-type:text/html;charset=utf-8');
$arr=array(1,2,3,0,1,"0","","c",0,null,FALSE);
echo "原陣列:";
var_dump($arr);
$arr = array_filter($arr);
var_dump($arr);
?>
登入後複製
推薦學習:《》
以上就是php陣列怎麼去除0值的詳細內容,更多請關注TW511.COM其它相關文章!