在循环内循环,增加$ total

时间:2013-08-02 09:56:05

标签: php for-loop foreach nested-loops

我坚持认为这将是一个简单的循环。

我希望完成的是总计一个篮子的内容但不添加其他用户。这是一个非常简单的例子:

这将完美地运作

        foreach($BasketItems as $Items)
        {
            if(strstr($Items, "Book") !== false)
            {
                $ItemPrice += $Items["Price"];
            }
        }

但不幸的是,它以这样的方式构建,它也循环通过所有用户,例如:

for($Loop = 0; $Loop < mysql_num_rows($Data); $Loop++)
{
        foreach($BasketItems as $Items)
        {
            if(strstr($Items, "Book") !== false)
            {
                $ItemPrice += $Items["Price"];
            }
        }
}

此示例的问题在于它将以前的用户$ItemPrice添加到当前用户,依此类推。非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

试试吧,

for($Loop = 0,$len=mysql_num_rows($Data); $Loop < $len; $Loop++)
{
    foreach($BasketItems as $Items)
    {
       if(strstr($Items, "Book") !== false)
       {
          $ItemPrice[$Loop] += $Items["Price"]; 
          // use Array of $ItemPrice for every user, 
          //you can use user_id here to fetch
       }
    }
}