我们可以测试某个字符串是否完全是另一个字符串的开头。
<?php
function startsWith($string, $startString) {
$len = strlen($startString);
return (substr($string, 0, $len) === $startString);
}
// usage
echo startsWith("cat", "c"); // true
echo startsWith("dog", "x"); // false
?>
测试字符串中的位置,确保它位于 0,也可以。
function startsWith($string, $startString) {
return strpos($string, $startString) === 0;
}
strncmp
函数也是专门为此目的而设计的。
function startsWith($string, $startString) {
return strncmp($string, $startString, strlen($startString)) === 0;
}
你也可以随时使用正则表达式!
function startsWith($string, $startString) {
return preg_match('#^' . $startString . '#', $string) === 1;
}
如果字符串不包含任何 Unicode 字符,则还有一种简单的方法。
$a = “String”;
if($a[0] === “S”){
…
}
PHP 8 现在支持三种用于测试字符串的新方法。
str_contains($string. $search)
str_starts_with($string. $search)
str_ends_with($string. $search)
// 用法
str_contains(‘haystack’, ‘sta’); // true
str_starts_with(‘haystack’, ‘h’); // true
str_ends_with(‘haystack’, ‘x’); // false