php - 比较php中两个字符串的前缀
问题描述
我想比较两个字符串的前缀以了解两者是否相同或不同。就像格式一样。
假设变量 A 包含一个带前缀的字符串,我想比较变量 A 的值的前缀是否与字符串相同,即if($variableA == "che-123456")
做其他事情做其他事情。前缀CHE
是我想要比较的。
解决方案
我已经为您的问题编写了通用功能。你可以使用它:
function comparePrefixes($a, $b, $separator = "-", $caseSensitive = false) {
if (!$caseSensitive) {
$a = strtolower($a);
$b = strtolower($b);
}
return substr($a, 0, strpos($a, $separator)) === substr($b, 0, strpos($b, $separator));
}
// Testcases
var_dump(comparePrefixes('chE-454545', 'ChE-78623')); //true
var_dump(comparePrefixes('chE.54545', 'ChE.78623', ".")); //true
var_dump(comparePrefixes('abcd-454545', 'abcd-78623')); //true
var_dump(comparePrefixes('chE-454545', 'ChE-78623', "-", true)); //false
var_dump(comparePrefixes('che-454545', 'che-78623', "-", true)); //true
// use case
$a = "che-1234";
$b = "che-5425";
if (comparePrefixes($a, $b)) {
echo "prefixes are equal";
}
推荐阅读
- opengl - 将立方体贴图投影到 2D 纹理
- android - 通过 AppCenter 部署时应用屏幕为空白
- c - 为什么 * 和 % 在这条规则中表现不同?
- python - 我如何在python中验证以下输入(十六进制间隔值)
- ssl - 但是,托管具有活动 SSL 证书的网站,导航到 www.example.com 会导致我访问 Http 而不是 Https
- javascript - 需要帮助使用某种类型的样式与反应
- android - Firebase 文档未删除
- c++ - 将二维数组中的符号分成 2 组
- javascript - 包含数组对象的 JSON - ajax 调用结果为空
- r - 对行子集执行计算