猿问

<?php if函数,搜索包含数据的字符串

希望一切安好。


我想显示一系列徽章,这些徽章将根据包含特定字符串的字段显示不同的图像。例如,像这样的东西(虽然我知道这可能不正确)


            <?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 函数,尽管我不确定它是否适合基于一个字段是否包含几个字符串选项之一的一系列替代方案。


有没有更合适的替代方法?


谢谢您的帮助!


红颜莎娜
浏览 102回答 1
1回答

函数式编程

stripos在这里不太合适,因为它national在 和 中都national匹配international。如果整个$business字符串是单词local或interstate等等,您可能会发现数组更易于使用:$badges = array('local' => 'badge-icon1.png',&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 'interstate' => 'badge-icon2.png',&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 'national' => 'badge-icon3.png',&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 'international' => 'badge-icon2.png'&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; );echo $badges[$business] ?? '';如果$business其中可能包含大写字符(例如Local),则用作strtolower($business)数组索引:echo $badges[strtolower($business)] ?? '';此外,如果您想在不匹配 4 个名称之一的情况下使用默认图像$business,您可以将其放在echo:echo $badges[$business] ?? 'badge-placeholder.png';
随时随地看视频慕课网APP
我要回答