【问题标题】:How to count array in foreach如何在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 已经存在)

标签: php mysql codeigniter foreach


【解决方案1】:

echo count($suratkeluar); 退出循环。现在,您为每次迭代创建一个数组并计算该数组的元素。所以结果是11 -----> 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() 不适用于数据对象

【讨论】:

    猜你喜欢
    • 2019-05-15
    • 1970-01-01
    • 2018-04-19
    • 1970-01-01
    • 2021-09-08
    • 1970-01-01
    • 2022-01-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多