如何在foreach中计算数组

时间:2020-04-08 07:25:07

标签: php mysql codeigniter foreach

我的代码是:

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

因为数组中有两个数据。如何?请帮我

2 个答案:

答案 0 :(得分:0)

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);

答案 1 :(得分:0)

如果返回数据对象,则需要进行此操作

echo count(array()$ suratkeluar);

count()不适用于数据对象