【问题标题】:PHP + MySQL + CodeIgniter: Check if current row existsPHP + MySQL + CodeIgniter:检查当前行是否存在
【发布时间】:2013-07-08 08:27:37
【问题描述】:
我想稍微优化一下脚本并节省 cpu 一些工作,所以我必须创建 for 循环。在这个循环中,我将使用数据库中的一些数据,下面是我当前的代码:
$result = $this->Model->function();
for ($i = 0; $i < $result->num_rows(); $i++)
{
echo $result->row_array($i)['row'];
}
我需要在这里检查下一行是否存在。这将位于 if 语句中 for 循环中所有代码的顶部,但存在一些问题。如果我在 for 循环中输入$result->num_rows()+1 并回显最后一行(不存在),则它的值不为空,但与之前的行相同。
如何检查当前行是否为空?
【问题讨论】:
标签:
php
mysql
codeigniter
codeigniter-2
【解决方案1】:
或者不是每次都检查布尔值,而且你不要第二次调用 num_rows 方法:
$result = $this->Model->function();
$y = $result->num_rows();
for ($i = 0; $i < $y-1; $i++)
{
echo $result->row_array($i)['row'];
}
echo 'last row';
echo $result->row_array($y-1)['row'];
【解决方案2】:
例如,您可以这样做:
$result = $this->Model->function();
$y = $result->num_rows();
$y--;
for ($i = 0; $i < $result->num_rows(); $i++)
{
if ($i == $y)(
echo 'last row';
)
echo $result->row_array($i)['row'];
}