【发布时间】:2017-10-11 18:22:06
【问题描述】:
考虑下面的代码 sn-p :
<!DOCTYPE html>
<html>
<head>
<style>
table, th, td {
border: 1px solid black;
border-collapse: collapse;
}
th, td {
padding: 5px;
}
</style>
</head>
<body>
<table>
<tr>
<td>Filter Name</td>
<td>Filter ID</td>
</tr>
<?php
foreach (filter_list() as $id =>$filter) {
echo '<tr><td>' . $filter . '</td><td>' . filter_id($filter) . '</td></tr>';
}
?>
</table>
</body>
</html>
通常在 foreach 循环中,使用现有数组进行迭代。 但在上面的代码中,不是在 foreach 循环中使用现有数组,而是调用了一个返回数组的内置函数。
那么,我的问题是函数 filter_list() 是否会在每次循环迭代时被调用?
如果是,那么 foreach 循环如何设法考虑上一次迭代的下一个键值对?
如果不是,那么它为什么以及如何工作?
另外,请告诉我这是一种正确的编码方式吗?
此代码是否足够高效并遵循标准编码实践?
谢谢。
【问题讨论】:
标签: php arrays function loops foreach