4 回答
TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超7個(gè)贊
您可以使用而不是ifswitch
if (in_array("basement", $options)) {
array_push($features,145);
}
if (in_array("bathtub", $options)) {
array_push($features,167);
}
if(in_array("boiler", $options)) {
array_push($features,105);
}
因?yàn)?switch 語(yǔ)句的計(jì)算結(jié)果例如為
switch ([]) {
case true: ...
case false: ...
case true: ...
這不符合您的目的
TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超7個(gè)贊
你在這里有很多需要解決的問(wèn)題。首先,讓我們假設(shè)這是一個(gè)相當(dāng)標(biāo)準(zhǔn)的數(shù)組:$options
$options = ['basement', 'bathtub'];
現(xiàn)在,您將設(shè)置為一個(gè)數(shù)組來(lái)保存結(jié)果:$features
$features = array();
你不能在語(yǔ)句中做很多評(píng)估。在語(yǔ)句中,您嘗試對(duì)“地下室”進(jìn)行兩次測(cè)試,而您需要做的就是讓信息是否存在。只需測(cè)試每個(gè)價(jià)值購(gòu)買循環(huán)選項(xiàng)并測(cè)試價(jià)值switchin_array("basement", $options) && "basement" != false:switch
foreach($options as $option) {
switch ($option) {
case "basement":
array_push($features,145);
break;
case "bathtub":
array_push($features,167);
break;
case "boiler":
array_push($features,105);
break;
}
}
結(jié)果如下:
print_r($features);
哪個(gè)返回
Array
(
[0] => 145
[1] => 167
)
TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超4個(gè)贊
您可以使用而不是ifswitch
if (in_array("basement", $options)) {
array_push($features,145);
}
if (in_array("bathtub", $options)) {
array_push($features,167);
}
if(in_array("boiler", $options)) {
array_push($features,105);
}
因?yàn)?switch 語(yǔ)句的計(jì)算結(jié)果例如為
switch ([]) {
case true: ...
case false: ...
case true: ...
這不符合您的目的
TA貢獻(xiàn)2003條經(jīng)驗(yàn) 獲得超2個(gè)贊
假設(shè)您有選項(xiàng)的值列表,則可以創(chuàng)建一個(gè)包含選項(xiàng)和值組合的數(shù)組。然后使用 僅匹配所選的選項(xiàng)(用于使選項(xiàng)值改為鍵。最后使用刪除密鑰...array_intersect_key()array_flip()array_values()
$options = ['basement', 'bathtub'];
$optionValues = ['basement' => 145, 'bathtub' => 167, 'boiler' => 105];
$features = array_values(array_intersect_key($optionValues, array_flip($options)));
print_r($features);
給。。。
Array
(
[0] => 145
[1] => 167
)
這樣做的好處是,當(dāng)您/如果您需要更改映射時(shí),您只需要更新數(shù)組。$optionValues
- 4 回答
- 0 關(guān)注
- 169 瀏覽
添加回答
舉報(bào)
