PHP如何通过count()获取单个数值?数组ID计数异常求助
问题分析
你的代码输出连续数字的原因很直接:你把echo count($numstudent);放在了foreach循环内部——每循环一次,就会输出当前$numstudent数组的长度,从1逐步累加到10,这些数字被连续输出后就变成了12345678910。
正确解决方法
方法一:直接统计原数组长度
既然$studentlistbysection中的每个元素都对应一个学生ID,完全不需要额外创建数组存储ID,直接统计原数组的长度即可:
<?php echo count($studentlistbysection); ?>
方法二:收集ID后再统计(需保留ID数组时用)
如果确实需要先把所有ID存入$numstudent数组,只需把输出语句移到循环外部,等所有ID收集完成后再统计总数:
<?php $numstudent = []; foreach ($studentlistbysection as $stlist) { $numstudent[] = $stlist->id; } // 循环结束后输出最终计数 echo count($numstudent); ?>
内容的提问来源于stack exchange,提问作者KasimaEse
相关产品推荐
相关产品推荐

