【问题标题】:Count array by parse value of array通过解析数组的值来计数数组
【发布时间】:2015-03-06 08:22:45
【问题描述】:

我们如何计算数组中的数组元素。

$course = array(
            array(
                'course_name'=> 'HTML',
                'trainee'=> array(
                                array('trainee_name'=>'Hong Va'),
                                array('trainee_name'=>'Reaksmey SE')
                            )
            ),array(
                'course_name'=> 'Java',
                'trainee'=> array(
                                array('trainee_name'=>'Hong Va'),
                                array('trainee_name'=>'Reaksmey SE'),
                                array('trainee_name'=>'Sok Panha'),
                                array('trainee_name'=>'MAO Vannakpanha')
                            )
              )
);

我想要这样的结果:

HTML(2 名学员)

Java(3 名学员)

【问题讨论】:

  • 好的,你想要它。那挺好的!你想从我们这里得到什么?
  • 首先你会尝试,然后你会得到帮助。
  • 提示 #1:foreach + count。这基本上就是你需要解决的所有问题。
  • 我试过了还是解决不了。
  • @Lazy Developer:如果你不能解决这样一个微不足道的任务 - 你有可能需要从头开始重新学习 php。否则,您将花费更多时间搜索和等待答案,而不是编码。

标签: php algorithm codeigniter yii


【解决方案1】:

试试这个 - 它还会根据学员的数量使用正确的复数或单数。

foreach ($course as $item)
{
    $count = count($item['trainee']);
    $word = ($count == 1) ? 'trainee' : 'trainees';
    echo $item['course_name'] . " ($count $word)"; 
    echo "<br>";
}

【讨论】:

    【解决方案2】:

    只需使用 foreach 和计数

      <?php
           $result = array(); // to handle with data later
           foreach($course as $arr) {
              $result[$arr['course_name']] = count($arr['trainee']);        
              // for output here
              echo $arr['course_name'].' ('.count($arr['trainee']).' trainees)<br>';
           }
    

    【讨论】:

      【解决方案3】:

      HTML

      $course[0]['trainee'][0]['trainee_name'] // Hong Va
      $course[0]['trainee'][1]['trainee_name'] // Reaksmey SE
      

      JAVA

      $course[1]['trainee'][0]['trainee_name'] // Hong Va
      $course[1]['trainee'][1]['trainee_name'] // Reaksmey SE
      $course[1]['trainee'][2]['trainee_name'] // Sok Panha
      

      【讨论】:

      • 感谢您的分享。
      【解决方案4】:
      foreach($course as $c){
          echo $c['course_name']."(".count($c['trainee'])." trainees)";
          echo "<br />";
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-09-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多