如何使用php计算关联数组中不同键的不同值

如何使用php计算关联数组中不同键的不同值,php,Php,下面的代码给出了缺席和出席的总人数。但我的要求是,每个分支机构都有一定数量的缺席人员和在场人员 我希望输出像: cse-a: presnties:5 ;absenties:4 Cse-g:presenties:4 ;absenties:3 下面是我的代码: <?php $present = 0; $absent = 0; $students = array(array('CSE-A'=>'PRESENT'),array('CSE-A'=>'PRESENT'),array

下面的代码给出了缺席和出席的总人数。但我的要求是,每个分支机构都有一定数量的缺席人员和在场人员

我希望输出像:

cse-a: presnties:5 ;absenties:4
Cse-g:presenties:4 ;absenties:3
下面是我的代码:

 <?php
 $present = 0;
$absent = 0;
 $students = array(array('CSE-A'=>'PRESENT'),array('CSE-A'=>'PRESENT'),array('CSE-G'=>'ABSENT'),array('CSE-   G'=>'ABSENT'),array('CSE-   A'=>'ABSENSENT'),array('CSE-   G'=>'PRESENT'),array('CSE-G'=>'PRESENT'));//Sampled Array
foreach($students as $key=>$array)
{
   foreach($array as $k=>$v)
   {
    if($array[$k] === 'PRESENT')
    {
        $present++;
    }
     else if ($array[$k] === 'ABSENT')
    {
        $absent++;
    }
   }
}
  echo "Present Totals: ".$present.PHP_EOL;
   echo "Absent Totals: ".$absent;
试试这段代码

$students = [
    ['CSE-A'=>'PRESENT'],
    ['CSE-A'=>'PRESENT'],
    ['CSE-G'=>'ABSENT'],
    ['CSE-G'=>'ABSENT'],
    ['CSE-A'=>'ABSENSENT'],
    ['CSE-G'=>'PRESENT'],
    ['CSE-G'=>'PRESENT'],
];

$outputs = [];

foreach ($students as $array) {
    foreach ($array as $key => $value) {
        if (!isset($outputs[$key])) {
            $outputs[$key] = [
                'present' => 0,
                'absent'  => 0,
            ];

        }

        //check value
        if($array[$key] === 'PRESENT') {
            $outputs[$key]['present']++;
        } else if($array[$key] === 'ABSENT') {
            $outputs[$key]['absent']++;
        }
    }
}

foreach ($outputs as $key => $value) {
    echo $key."\n";
    echo "Present Totals: ".$value['present']."\n";
    echo "Present Totals: ".$value['absent']."\n";
    echo "--------------\n";
}

你为什么认为卡普斯洛克会引起你更多的注意编辑您的问题以使其更清晰,但如果(!isset($outputs[$key]){$outputs[$key]=['present'=>0,'缺席'=>0,],我无法理解;