为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
红颜莎娜 2023-04-02 10:44:29
希望一切安好。我想显示一系列徽章,这些徽章将根据包含特定字符串的字段显示不同的图像。例如,像这样的东西(虽然我知道这可能不正确)            <?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';


查看完整回答
反对 回复 2023-04-02
  • 1 回答
  • 0 关注
  • 81 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信