PHP:保持 return 为真

PHP: Keeps return as true

我不知道我做错了什么。我在 if 语句中保留 returning "På lager"。但是 Shop 3,应该 return 在 foreach 循环中调用函数的地方“Ikke på lager”。

<?php

$shopsArray = array(
    "Shop1" => array (
        "price" => 5,
        "extUrl" => "https://tv2.dk/",
        "logo" => "",
        "stock" => "in stock",
        "ean" => "5707400342642",
        "shopName" => "Shop2",
    ),
    "Shop2" => array (
        "price" => 99,
        "extUrl" => "https://cnn.com/",
        "logo" => "https://eb.dk/",
        "stock" => "in stock",
        "ean" => "51010101010",
        "shopName" => "Shop2.dk",
    ),
    "Shop3" => array (
        "price" => 50000000,
        "extUrl" => "https://v2.dk/",
        "logo" => "https://eb.dk/",
        "stock" => "out of stock",
        "ean" => "5707406556565655",
        "shopName" => "Shop3",
    )

    );

foreach($shopsArray as $abc){
    echo CheckStock();
}
function checkStock(){
    global $shopsArray;

    foreach ($shopsArray as $stockMgmt) {

        if ($stockMgmt["stock"] == "in stock"){
            return "På lager";
        } else {
            return "Ikke på lager";
        }
    }
}

return 从你的 checkStock() 功能中尽快 $stockMgmt["stock"] == "in stock",你这样做了三次。试试这个代码:

<?php

$shops = [
    "Shop1" => [
        "price" => 5,
        "stock" => "in stock",
        "ean" => "5707400342642",
        "shopName" => "Shop2",
    ],
    "Shop2" => [
        "price" => 99,
        "stock" => "in stock",
        "ean" => "51010101010",
        "shopName" => "Shop2.dk",
    ],
    "Shop3" => [
        "price" => 50000000,
        "stock" => "out of stock",
        "ean" => "5707406556565655",
        "shopName" => "Shop3",
    ]
];

function checkStock($stockManagement)
{
    return ($stockManagement["stock"] == "in stock") ? "På lager" : "Ikke på lager";
}

foreach ($shops as $shop => $stockManagement) {
   echo $shop . ' = ' . CheckStock($stockManagement) . '<br>';
}

该函数现在使用库存管理数组作为参数。在函数中我使用 Ternary Operator.

我们只使用一个循环来遍历主要的商店阵列。

请注意我如何避免不必要的缩写。变量名应该阐明值的含义,而不是类型。所以,不是 $shopsArray 而是 $shops$shopsStock.

现在测试,感谢 medilies:PHP fiddle