gpt4 book ai didi

php - 重新启动 While 循环

转载 作者:行者123 更新时间:2023-11-29 08:22:52 27 4
gpt4 key购买 nike

是否可以重新启动 while 循环?我目前在 foreach 循环中存在一个 while 循环,并且每次都需要 while 语句从头开始。

$sql = mysqli_query($link, "SELECT * FROM products");
$products = array('Milk', 'Cheese', 'Eggs');
$i = 0;
$total = count($products); //This is in case I change the product list.

if($sql)
{
foreach($products as $v)
{
while($r = mysqli_fetch_assoc($sql))
{
if($r['Name'] == $v)
{
echo $r['Name'] . " - £" . $r['Price'];
break;
}
}
}
}

当代码运行并生成牛奶鸡蛋但在数据库中奶酪出现在鸡蛋时,我的问题发生了code>,所以它似乎永远不会被发现。如何重新启动 while 循环以强制代码从 sql 查询开始检查每个值?

已解决:使用哈希来查询而不是循环 SQL。

最佳答案

我认为最好的选择是将查询结果存储在哈希中以进行 O(1) 查找,而不是一遍又一遍地从 sql 中读取。

$sql = mysqli_query($link, "SELECT * FROM products");
$sql_products = array();
$products = array('Milk', 'Cheese', 'Eggs');
$i = 0;
$total = count($products); //This is in case I change the product list.

if($sql)
{
while($r = mysqli_fetch_assoc($sql))
{
$sql_products[$r['Name']] = $r;
}
foreach($products as $v)
{
if(array_key_exists($v,$sql_products))
{
echo $v . " - £" . $sql_products[$v]['Price'];
}
}
}

关于php - 重新启动 While 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18877731/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com