在这个 PHP foreach 循环中可能遗漏了一些非常简单的东西
Posted
技术标签:
【中文标题】在这个 PHP foreach 循环中可能遗漏了一些非常简单的东西【英文标题】:Possibly missing something very simple in this PHP foreach loop 【发布时间】:2015-03-31 06:40:18 【问题描述】:此问题是this question 的扩展。
基本上,该脚本比较两个数组并输出差异(向用户显示什么)。
$urlsToShow = array_diff($siteUrls, $seenUrls);
if (!empty($urlsToShow))
// Echo the url to show for the iframe within browse.php and add an entry to the database that the user has seen this site
foreach ($urlsToShow as $urlToShow)
echo $urlToShow;
$entry = "INSERT INTO views VALUES ('', '$currentUsername', '$urlToShow')";
mysqli_query($con, $entry);
break;
问题是我通过一次迭代将两个条目输入数据库?显示$urlsToShow
数组中的第一个站点(回显到 iframe 中)并与同一数组中的下一个站点一起添加到数据库中。但用户永远不会看到下一个站点。
我是否错误地使用了break
?
【问题讨论】:
【参考方案1】:使用break;
可能不符合您的最佳利益。我建议使用continue;
。
【讨论】:
脚本必须在一次迭代后停止并将相同的 url 回显到 iframe 并将其添加到数据库中以上是关于在这个 PHP foreach 循环中可能遗漏了一些非常简单的东西的主要内容,如果未能解决你的问题,请参考以下文章
队列ForEach循环抛出InvalidOperationException