通过解析数组的值来计数数组
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 中检索它们的值来自动选择复选框 [重复]