php 从现有变量创建变量以对其进行计数

tez616oj  于 2023-01-16  发布在  PHP
关注(0)|答案(1)|浏览(121)

我有一个项目,用户可以将人添加到一个列表中,其中包括姓名、男性或女性、学生或领导。每个人都可以是男性或女性、学生或领导。
我试图计算女学生、女领导、男学生和男领导的人数,但不知道如何将他们结合起来计算。

$femaleStudent = $female && $student;
$maleStudent = $male && $student;
$femaleLeader = $female && $leader;
$maleLeader = $male && $leader;

然后这样做:

$total = $femaleStudent + $maleStudent + $femaleLeader + $maleLeader;

我怎么把它们组合起来才能数出来?
编辑
$female,$male,$student和$leader只是在计算。下面是一个例子(这是在WordPress中):

$female = array_count_values(array_column($participants, 'participant_gender'))['Female'];

我试图展示的最终结果是总人数,然后按女生、女领导、男生、男领导细分,我的输出基本上是:女生:男学生= 6人,女领导= 2人,男领导= 2人,共计= 18人
编辑2
下面是var_dump中的参与者数组的示例:

0 => 
    array
      'participant_first_name' => string 'Steve'
      'participant_last_name' => string 'Rogers'
      'participant_gender' => string 'Male'
      'participant_age' => string '44'
      'participant_role' => string 'Leader'
  1 => 
    array
      'participant_first_name' => string 'Lois' 
      'participant_last_name' => string 'Lane' 
      'participant_gender' => string 'Female' 
      'participant_age' => string '15' 
      'participant_role' => string 'Student'
yqkkidmi

yqkkidmi1#

经过更多的研究和了解我做错了什么,我能够找到一个解决方案:

$femaleStudent = 0;
    $maleStudent = 0;
    $femaleLeader = 0;
    $maleLeader = 0;

    foreach($participants as $participant => $v){
        $gender = $v['participant_gender'];
        $role = $v['participant_role'];
        
        if( $gender == "Male" && $role == "Student"){
            $maleStudent++;
        }
        if($gender == "Female" && $role == "Student") {
            $femaleStudent++;
        }
        if( $gender == "Male" && $role == "Leader"){
            $maleLeader++;
        }
        if($gender == "Female" && $role == "Leader") {
            $femaleLeader++;
        }
        
    }
    $total = count($participants);

相关问题