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
我不知道我做错了什么。我在 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