考慮下面的代碼片斷:當foreach循環使用它而不是foreach循環中的預定義數組時,該函數是否被每次迭代調用?
<!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循環如何管理考慮下一個鍵值對以前的迭代?
如果否,爲什麼以及它如何工作呢?
另外,讓我知道這是一種正確的編碼方式?
此代碼是否足夠有效並遵循標準編碼實踐?
謝謝。
是的,這也會導致在更改數組結構時發生一些奇怪的事情。過去有很多樂趣,就像一個幽靈副本......大聲笑 – ArtisticPhoenix