首頁 >後端開發 >PHP問題 >php數組怎麼去除0值

php數組怎麼去除0值

青灯夜游
青灯夜游原創
2022-10-10 18:27:272666瀏覽

兩種去除方法:1、利用array_diff()函數將一個只包含「0」的陣列和原始數組進行比較即可,語法「array_diff($arr, [0])」;2、使用array_filter()函數呼叫回呼函數過濾數組,語法「function f($var){return($var!==0);}$arr=array_filter($arr,"f");」。

php數組怎麼去除0值

本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦

方法1:利用array_diff()函數會移除陣列中的0

array_diff() 函數用於比較兩個(或更多)陣列的值,並傳回差集。

array_diff(array1,array2,array3...);

只需要使用一個只包含「0」的陣列和原始陣列進行比較即可,語法:array_diff($arr, [0])

##範例:


<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$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);
?>

php數組怎麼去除0值

註: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 接收的參數形式:

    ARRAY_FILTER_USE_KEY - callback 接受鍵名作為的唯一參數
  • ARRAY_FILTER_USE_BOTH - callback 同時接受鍵名和鍵值
範例:

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;); 
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);
?>

php數組怎麼去除0值

#:array_filter()函數如果沒有回呼函數,那麼預設就是刪除數組中值為false的項目。

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;); 
  $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值

推薦學習:《

PHP影片教學

以上是php數組怎麼去除0值的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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