php - PHP - 检查某些内容是否与字符串匹配
问题描述
我有一个包含 10 个信息的字符串,但我只需要其中一个,这就是排名。我已经尝试将它放在另一个字符串中,但它无法与我的代码一起使用。
我当前的代码如下所示:
if (strpos($rank, 'Platin I') !== false) {
echo 'Platin I';
} elseif (strpos($rank, 'Platin II') !== false) {
echo 'Platin II';
}
如果 $rank 是Platin II
,那么我的代码给出Platin I
。如何检查实际排名是否匹配?
那在字符串之间:Division I Platin II Division
解决方案
如果字符串包含Platin II
,它也包含Platin I
,因此您需要先匹配较长的字符串。
另一种解决方案是使用正则表达式,然后您可以匹配单词边界,因此您不会匹配部分单词。
if (preg_match('/\bPlatin I\b/', $rank)) {
echo 'Platin I';
} elseif (preg_match('/\bPlatin II\b/', $rank)) {
echo 'Platin II';
}
推荐阅读
- android - FireBase Auth createUserWithEmailAndPassword().then() 不起作用
- vue.js - 动态添加带有 vue-if 和其他 vue 属性的 json 内容
- machine-learning - 使用回调在 Flux 中训练时记录损失
- java - 生成签名的 APK:构建 APK 时出错。你可以找到错误
- database - laravel 7中的数据库连接问题
- asp.net-mvc - 如何得到
标签助手工作? - php - 如何在标签和一些结束标签之间使用 XPath 提取文本
- javascript - 喜欢和不喜欢按钮节点JS mongodb
- google-apps-script - 在工作表更改事件上切换复选框值,并在打开时设置复选框值
- c# - 我可以使用 AutFac 工厂来创建我的 DbContext