从PHP数组返回的每个项的总和
我正在尝试获取活动用户和非活动用户的计数 首先,我获取所有用户数据:从PHP数组返回的每个项的总和,php,Php,我正在尝试获取活动用户和非活动用户的计数 首先,我获取所有用户数据: $userData=fetchAllUsers() 然后我为每个人写一个foreach,得到活跃用户和非活跃用户的总数 foreach ($userData as $key => $value) { $active = $value['active']; if($active == 1){ $activeUsers = count($active); print_r($activeUsers); } el
$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个是活动的,2个是非活动的
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);
}
}
我尝试了count
和array\u sum
和array\u count\u value
。似乎没有什么能满足我的需要。任何帮助都将不胜感激。有人能指引我正确的方向吗?你在一个循环中,你不需要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);
数据似乎是字符串,请尝试使用(int)$variable
将其强制,如果您以18秒的优势击败我:-D@AndyNice=)虽然您的代码更简洁,但我认为我的代码对于初学者来说更容易理解。这非常有效!我今天早些时候尝试过,但我犯的错误是没有包括这个$activeUsers=0$不活动用户=0代码>在foreach
之外。