比较php中两个字符串的前缀

比较php中两个字符串的前缀,php,Php,我想比较两个字符串的前缀,以了解它们是否相同或不同。比如,如果格式相同 假设变量A包含一个带前缀的字符串,我想比较变量A的值的前缀是否与字符串相同,即if($variableA==“che-123456”)做点别的做点别的。前缀CHE是我想要比较的。我已经为你的问题编写了通用函数。您可以使用它: function comparePrefixes($a, $b, $separator = "-", $caseSensitive = false) { if (!$caseSensitiv

我想比较两个字符串的前缀,以了解它们是否相同或不同。比如,如果格式相同


假设变量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";
}


if(substr($variableA,0,3)=“che”)
@Barmar万分感谢。它很有魅力。谢谢你的回复。