簡體   English   中英

如何計算不帶0的數組值

[英]how to count array values without 0

$q1=15;
$q2=12;
$q3=23;
$q4=0;
$q5=0;


$count = array ($q1, $q2, $q3, $q4, $q5);
echo count($count);

得到的計數為5; 但是我想算不算零。 怎么做? 我想數= 3

您的數組包含字符串“ $ q1”,“ $ q2”,“ $ q3”等,如果要存儲它們的值,甚至不需要使用引號,或者如果要使用雙引號(“ )。

您可以像這樣手動計數:

$count = 0;
foreach($array as $el){
    if($el != 0){
        $count++;
    }
}

或使用內置函數array_filter()

這是錯誤的聲明數組的方式,因為您要將字符串傳遞給數組。 您應添加不帶“”的變量。 如果要不加零計數,可以編寫簡單的foreach循環。

 $countWithoutZeros=0;
foreach($count as $number){ if($number!=0){$countWithoutZeros++}}

array_filter()是您的朋友。

$q1=15;
$q2=12;
$q3=23;
$q4=0;
$q5=0;

$a = array ($q1, $q2, $q3, $q4, $q5);

# Method 1
$b = array_filter($a, function($v){return $v !== 0;});
var_dump($b);
echo "<p>Count: ".count($b)."</p>";

# Method 2
$b = array_filter($a);
var_dump($b);
echo "<p>Count: ".count($b)."</p>";

嘗試這個:

$q1=15;
$q2=12;
$q3=23;
$q4=0;
$q5=0;


$count = array ($q1, $q2, $q3, $q4, $q5);
$count = array_filter($count);
echo count($count);

您可以在使用@axiac注釋時使用過濾器功能進行計數

function nonzero($var){ 
    return ($var > 0); } 


$arr = array_filter($array, "nonzero"); 
echo count($arr); 

謝謝

您可以使用array_filter()並且它是內置函數,因此不必擔心。

echo count(array_filter($your_array));

http://php.net/manual/en/function.array-filter.php

<?php
$q1=15;
$q2=12;
$q3=23;
$q4=0;
$q5=0;

$count = array ($q1, $q2, $q3, $q4, $q5);
echo count(array_filter($count));

如果您想檢查最終數組的值,請同時使用此代碼

$count = array($q1, $q2, $q3, $q4, $q5);
$final_arr = array_filter($count);
echo "<pre>";
print_r($final_arr);

您也可以使用此代碼刪除所有0值

$count = array($q1, $q2, $q3, $q4, $q5);
function nonzero($var)
{
 return ($var > 0);
}

$arr = array_filter($count, "nonzero");
echo count($arr);

這:D

 $c=0;
 $count = array ('$q1','$q2','$q3','$q4','$q5');
for(i=0;i<count($count);i++){
  if(!$count[$i]==0){ 
      $c++}
  else{ continue; }
  }
 echo $c;

也了解有關array_filter()的信息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM