[英]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.