Gum*_*mbo 24
另一种使用方式substr:
if (substr('ab_123456789', 0, 3) === 'ab_')
Run Code Online (Sandbox Code Playgroud)
这里substr用于从位置0开始的前3个字节作为字符串,然后进行比较'ab_'.如果要添加不区分大小写,请使用strcasecmp.
编辑 为了使用更舒适,您可以使用以下startsWith功能:
function startsWith($str, $prefix, $case_sensitivity=false) {
if ($case_sensitivity) {
return substr($str, 0, strlen($prefix)) === $prefix;
} else {
return strcasecmp(substr($str, 0, strlen($prefix)), $prefix) === 0;
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,这些函数不支持多字节字符,因为只比较字节.具有多字节支持的等效函数可能如下所示:
function mb_startsWith($str, $prefix, $case_sensitivity=false) {
if ($case_sensitivity) {
return mb_substr($str, 0, mb_strlen($prefix)) === $prefix;
} else {
return mb_strtolower(mb_substr($str, 0, mb_strlen($prefix))) === mb_strtolower($prefix);
}
}
Run Code Online (Sandbox Code Playgroud)
这里假设两个字符串的字符编码是内部字符编码.
使用正则表达式
$var = "ab_123456789";
if(preg_match('/^ab_/', $var, $matches)){
/*your code here*/
}
Run Code Online (Sandbox Code Playgroud)
你可以使用strpos():
$text = "ab_123456789";
if(strpos($text, "ab_") === 0)
{
// Passed the test
}
Run Code Online (Sandbox Code Playgroud)