从 PHP 数组返回的每个项目的总和


Sum of each item returned from a PHP array

我正在尝试获取活动用户和非活动用户的计数。

首先,我获取所有用户数据: $userData = fetchAllUsers();

然后我编写一个foreach来获取活动用户和非活动用户的总和。

foreach ($userData as $key => $value) {
$active = $value['active'];
if($active == 1){
    $activeUsers = count($active);
    print_r($activeUsers);
} elseif($active == 0) {
    $unactiveUsers =  count($active);
    print_r($unactiveUsers);
}
}

所有这些印刷品都是1111111.数据库中有 5 个用户设置为 1(活动),2 个用户设置为 0(非活动)。因此,我希望将这些加起来为 5 个活动和非活动。

我试过countarray_sumarray_count_values.似乎没有什么能做我需要的。任何帮助将不胜感激。有人可以引导我朝着正确的方向前进吗?

你在一个循环中,你不需要count。只需自己增加一个计数器即可。等到你完成循环后再吐出结果。

$activeUsers = 0;
$inactiveUsers = 0;
foreach ($userData as $key => $value) {
    $active = $value['active'];
    if($active == 1){
        $activeUsers++;
    } elseif ($active == 0) {
        $inactiveUsers++;
    }
}
var_dump($activeUsers);
var_dump($inactiveUsers);

你需要计算一个变量,例如

$active = 0;
$inactive = 0;
foreach ($userData as $key => $value) {
 switch(true) {
  case $value['active'] == 1: $active++; break;
  default: $inactive++; break;
 }
}
var_dump("Active users" + $active);
var_dump("Inactive users" + $inactive);