1 回答

TA貢獻(xiàn)1808條經(jīng)驗(yàn) 獲得超4個(gè)贊
getOptionValueAttribute函數(shù)沒(méi)有在內(nèi)部進(jìn)行任何檢查。您將字符串“1”傳遞給if運(yùn)算符,并且if與布爾值一起使用。非空字符串始終轉(zhuǎn)換為 true,因此您始終返回綠色。
我假設(shè)您正在嘗試做的是您希望檢查某個(gè)變量的值并返回不同的結(jié)果(如果它是 1、2 或 3)。因此我認(rèn)為您需要將該變量作為函數(shù)的輸入傳遞然后將值與其進(jìn)行比較:
public function getOptionValueAttribute($option){
if ($option == 1) {
return '<svg>Green</svg>';
}elseif ($option == 2) {
return '<svg>Orange</svg>';
}elseif ($option == 3) {
return '<svg>Red</svg>';
} else {
return '';
}
}
這樣,如果您像這樣調(diào)用函數(shù)(例如),您將獲得紅色:
getOptionValueAttribute(3);
如果您堅(jiān)持使用字符串,只需在數(shù)字周?chē)砑右?hào)即可。
我不知道你上面顯示的第二個(gè)代碼試圖解釋什么。我根本不明白這個(gè)邏輯以及它與功能的關(guān)系。請(qǐng)注意,比較運(yùn)算符是 == 或 ===,而不僅僅是 =。
- 1 回答
- 0 關(guān)注
- 135 瀏覽
添加回答
舉報(bào)