php - 检查字符串是否存在于两个字符串列表中(用逗号分隔)
问题描述
我想检查给定的 2 字符值(我的输入$string
:)是否存在于我的两个单独列表中的任何一个中,可能的匹配值:
一个列表是动态的(将从我的数据库中读取),其中的值用逗号分隔,每个逗号后有空格:
例如:
$dynamic_list="AA, AB, BA"
$dynamic_list="BC"
$dynamic_list="" (Empty)
第二个列表是我自己维护的静态列表,应该在脚本本身内。
我不确定如何构建它。也许只是定义一个变量,如:
$static_list="MC,JL,EO";
如果字符串匹配任何这些列表中的任何字符串,我只想输出该字符串,否则输出“不匹配”。
什么是最好和最快的方法来做到这一点?
解决方案
使用字符串使用的相同分隔符连接两个字符串,并正常检查。
执行额外的字符串或数组操作是不必要的开销。
代码:(演示)
$dynamic_list = "AA, AB, BA";
$static_list = "MC,JL,EO";
$search = "JL";
if (strpos($dynamic_list . ',' . $static_list, $search) !== false) {
echo 'found';
} else {
echo 'not found';
}
但是,实际上,您应该首先检查静态字符串。如果静态字符串中没有匹配项,则只需费心访问数据库即可。
至于查询,您可能会计算找到搜索字符串的行数LOCATE()
- 因为您不需要数据,只需确认匹配即可。
推荐阅读
- c - C语言中的字符串赋值
- python - 我必须从给定的 URL 列表中找出域。但是 URL 不遵循格式。最好的方法是什么?
- visual-studio - 单个项目是否可以有不同的源代码控制引擎?
- php - 在 Laravel 中,辅助函数和使用重定向发送变量的问题
- python - 在 Python 中测量短时间间隔的最安全和最可靠的方法?(跨平台、跨硬件、抗夏令时和闰秒)
- c# - 为什么我不能使用 Monogames 中的特定 Draw 覆盖方法?
- html - 在 Wordpress 中更改响应式设计的“起始宽度”
- python - 想要通过取其他传感器的平均值来替换 NaN
- ckeditor5 - CKEditor5 自定义插件更改模型但不更改视图
- php - laravel 更新会话数组中的值