通过解析数组的值来计数数组

Posted

技术标签:

【中文标题】通过解析数组的值来计数数组【英文标题】: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。否则,您将花费更多时间搜索和等待答案,而不是编码。 【参考方案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 />";

【讨论】:

以上是关于通过解析数组的值来计数数组的主要内容,如果未能解决你的问题,请参考以下文章

通过在 JavaScript 中检索它们的值来自动选择复选框 [重复]

通过检索它们的值来自动检查复选框

NodeJS通过键的值在数组中查找对象[重复]

如何截断大于指定值的值的numpy数组?

使用 NScanner 将 CSV 文件解析为字典数组 [重复]

通过使用第二个数组中的引用从第一个数组中的每个对象中提取每个值来创建一个新数组(JavaScript)