希望一切安好。我想顯示一系列徽章,這些徽章將根據包含特定字符串的字段顯示不同的圖像。例如,像這樣的東西(雖然我知道這可能不正確) <?php if (stripos($business, "local") !== false) echo "badge-icon1.png"; ?> <?php if (stripos($business, "interstate") !== false) echo "badge-icon2.png"; ?> <?php if (stripos($business, "national") !== false) echo "badge-icon3.png"; ?> <?php if (stripos($business, "international") !== false) echo "badge-icon4.png"; ?>我熟悉 stripos 函數,盡管我不確定它是否適合基于一個字段是否包含幾個字符串選項之一的一系列替代方案。有沒有更合適的替代方法?謝謝您的幫助!
1 回答

函數式編程
TA貢獻1807條經驗 獲得超9個贊
stripos在這里不太合適,因為它national在 和 中都national匹配international。如果整個$business字符串是單詞local或interstate等等,您可能會發現數組更易于使用:
$badges = array('local' => 'badge-icon1.png',
'interstate' => 'badge-icon2.png',
'national' => 'badge-icon3.png',
'international' => 'badge-icon2.png'
);
echo $badges[$business] ?? '';
如果$business其中可能包含大寫字符(例如Local),則用作strtolower($business)數組索引:
echo $badges[strtolower($business)] ?? '';
此外,如果您想在不匹配 4 個名稱之一的情況下使用默認圖像$business,您可以將其放在echo:
echo $badges[$business] ?? 'badge-placeholder.png';
- 1 回答
- 0 關注
- 132 瀏覽
添加回答
舉報
0/150
提交
取消