如何在foreach中计算数组
Posted
技术标签:
【中文标题】如何在foreach中计算数组【英文标题】:How to count array in foreach 【发布时间】:2020-07-20 13:11:12 【问题描述】:我的代码是:
foreach ($suratmasuk as $key => $h)
$suratkeluar = $this->db->query("SELECT * FROM surat_masuk WHERE lampiran LIKE '%$h->surat_id%'")->row_array()['suratmasuk_id'];
echo count($suratkeluar);
结果是:
11
但我想要的结果是:
2
因为数组中有两个数据。如何?请帮助我
【问题讨论】:
这是一个shell问题吗?请添加相关标签... 你说数组中有两个数据是指哪个数组? @NigelRen 变量 $suratkeluar 所以在 foreach 中有 2 个数据,我希望结果是 2 而不是 11。 我错误地删除了codeigniter
标签。请通过替换arrays
重新添加(foreach
已经存在)
【参考方案1】:
让echo count($suratkeluar);
退出循环。现在,您为每次迭代创建一个数组并计算该数组的元素。所以结果是1
和1
-----> 11
尝试关注
$suratkeluar = array();
foreach ($suratmasuk as $key => $h)
$suratkeluar[] = $this->db->query("SELECT * FROM surat_masuk WHERE lampiran LIKE '%$h->surat_id%'")->row_array()['suratmasuk_id'];
echo count($suratkeluar);
【讨论】:
非常感谢:)【参考方案2】:如果你返回数据对象你需要做这个
回声计数(array() $suratkeluar);
count() 不适用于数据对象
【讨论】:
以上是关于如何在foreach中计算数组的主要内容,如果未能解决你的问题,请参考以下文章