PHP:怎样判断字符串是否以某个字符串开始

Lasted 2020-02-27 10:36:25

在 PHP 中,经常会用到判断一个字符串是否是某个字符串开始,怎样判断一个字符串是否某个字符串开头呢?

有以下几种方法:

1. 使用 strpos 函数

strpos 函数查找字符串首次出现的位置,如果没找到,返回 FALSE。如果查询到字符串,会返回字符串的位置,字符串位置是从0开始,而不是从1开始的。比较结果必须使用 === 进行判断。

<?php

$haystack = "abcd";
$needle = "a";
if (strpos($haystack, $needle) === 0) {
  //Starts with it
}

 2. 使用 substr 函数

substr 函数返回字符串的子串。根据返回的子串判断是否以某个字符串开始,如下所示:

<?php

$haystack = "abcd";
$needle = "a";
if (strlen($needle) !== 0 
  && substr($haystack, 0, strlen($needle)) === $needle) {
  //Starts with it
}
注意:必须添加 strlen($needle) !== 0 判断,不然 $needle = "" 时会判断为包含。