php - 在 PHP foreach 循环之外访问变量

标签 php refactoring foreach

在我处理的一些代码中,我注意到从 foreach 循环外部访问了几个变量。

这可以在这个特定应用的 codeigniter View 文件中看到。

例如一个 View 文件:

<?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...

这行得通(即没有错误),但我想知道这是否会被视为一种不好的做法,如果是,为什么? (范围等)

有没有人对此有意见,变量是否应该只在其相应的循环中调用?

我注意到的另一个问题是,如果 View 文件的多个部分都需要一个变量:我应该重构为具有多个循环还是应该有一个 foreach/endforeach 和 begin/文件结尾。

非常感谢任何建议。谢谢。

最佳答案

我能想到这样做的唯一原因是寻找数组的末尾,这样您就可以将它的最后一个成员存储在一个变量中。

你可以用 end() 做的更清楚.

$row = end($items);

关于php - 在 PHP foreach 循环之外访问变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6352935/

相关文章:

linux - 打印具有特定扩展名的每个文件的名称

php - 如果语句返回 true,而它应该是 false..我认为

php - 如何从我的 php 页面获取打印输出设置?

php - CakePHP 缓存国际化翻译

JavaScript 过滤方法 - 只返回第一个对象

javascript - 如何仅在读取整个数组而不是每个元素后才传递函数?

php - 将 facebook、twitter 和 g+ "shares"一起计数并将它们存储在数据库中?

java - 如何从方法中提取依赖于类上下文的变量以避免重复代码?

Java:将类名传递给函数

python - 如何遍历类似于 PHP 的 foreach 函数的 python 数组/对象