【问题标题】:Find the lowest value of php foreach loops查找 php foreach 循环的最小值
【发布时间】:2017-11-06 18:59:18
【问题描述】:

我正在尝试提取以下代码生成的两个数字中的较低(但不是 0)。此代码循环两次给出两个数字。我只想要两者中的较低者。我可以看到我应该使用 min(array) 但我真的不知道从哪里开始。

foreach ($objResult->ProductGroups as $objProductGroup)
{
    if ($objProductGroup->hasProductQuote)
    {
        foreach ($objProductGroup->ProductQuotes as $objProductQuote)
        {
            if (!$objProductQuote->hasErrors)
            {   
                printf("<div>&pound;%01.2f</div>", $objProductQuote->Figures->RegularPayment);  
                break;
            }
        }
    }
}

【问题讨论】:

    标签: php foreach min


    【解决方案1】:

    不要在获取引号时打印引号,而是将它们附加到数组中。然后您可以使用min 打印两者中的较低者。

    $quotes = [];
    foreach ($objResult->ProductGroups as $objProductGroup)
    {
        if ($objProductGroup->hasProductQuote)
        {
            foreach ($objProductGroup->ProductQuotes as $objProductQuote)
            {
                if (!$objProductQuote->hasErrors)
                {
                    $quotes[] = $objProductQuote->Figures->RegularPayment;
                    break;
                }
            }
        }
    }
    printf("<div>&pound;%01.2f</div>", min($quotes));
    

    【讨论】:

    • 差不多了,但是这段代码本身在页面内循环了几次,如果前一个 min($quotes) 结果较低,它显示为下一个。
    • @SteveAsh 如果您在每一轮之前重新初始化$quotes,应该可以解决这个问题。我更新了答案。
    猜你喜欢
    • 2022-11-08
    • 1970-01-01
    • 2022-09-29
    • 1970-01-01
    • 2021-04-05
    • 1970-01-01
    • 2018-09-21
    • 2014-05-14
    • 2021-06-17
    相关资源
    最近更新 更多