在我正在研究的一些代码中,我注意到从foreach循环外部访问了几个变量.
这可以在此特定应用程序的codeigniter视图文件中看到.
<?PHP
foreach ($items as $row):
endforeach;
// HTML / PHP code...
<td>
<?PHP echo form_checkBox('option_1','1', FALSE); ?>
<?PHP echo form_hidden('weight_unit', $row->weight_unit); ?>
</td>
// etc...
这有效(即没有错误),但我想知道这是否会被视为不良做法,如果是这样,为什么? (范围等)
有没有人对此有意见,只应在相应的循环内调用变量?
我注意到的另一个问题是视图文件的几个部分是否需要变量:我应该重构多个循环还是应该有一个foreach / endforeach和文件的开头/结尾.
任何建议都非常感谢.谢谢.
解决方法:
当$到达你的其他代码时,$row将是数组中的最后一项,或者是unset.
这是你想要的吗?如果是这样,那么这本身并不坏.但是你至少应该记录该行为的意图,因为它不直观.
更好的做法是这样的:
foreach ($foo as $bar)
{
// do something
}
$last_bar = isset($bar) ? $bar : null;
很明显,你的意思是使用$last_bar做一些事情.
Another issue I’ve noticed is if a variable is required in several parts of a view file
如果你必须在视图中的不同位置迭代你的循环,那就没关系.
但是如果你只需要某个数组内部的某些信息,那么你应该将它放在一个易于访问的变量中并使用它.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。