PHP字符串开头和结尾的判断方法

1、知识准备

// 计算字符串长度
echo strlen("hello") . PHP_EOL;
// 5

// 截取字符串
echo substr("Hello World!", 6, 5) . PHP_EOL;
// world

// 查找子串起始位置
echo strpos("Hello World!", "world"). PHP_EOL;
// 6

2、字符串开头结尾判断

//变量:
$s1 = "hello";
$s2 = "Hello World!";
$s3 = "world hello";

//PHP判断字符串开头:
var_dump(substr($s2, 0, strlen($s1)) === $s1); 
// bool(true)

var_dump(strpos($s2, $s1) === 0);
// bool(true)

//PHP判断字符串结尾:
var_dump(substr($s3, strpos($s3, $s1)) === $s1);
// bool(true)

3、函数封装

<?PHP
/**
 * 字符串工具类
 */
class StringUtil{
    public static function startsWith(string $string, string $subString) : bool{
        return substr($string, 0, strlen($subString)) === $subString;
        // 或者 strpos($s2, $s1) === 0
    }
    
    public static function endsWith(string $string, String $subString) : bool{
        return substr($string, strpos($string, $subString)) === $subString;
    }
}

测试代码

var_dump(StringUtil::startsWith('hello world', 'hello'));
// bool(true)

var_dump(StringUtil::startsWith('hello world', 'world'));
// bool(false)


var_dump(StringUtil::endsWith('hello world', 'hello'));
// bool(false)

var_dump(StringUtil::endsWith('hello world', 'world'));
// bool(true)

彭世瑜 博客专家 发布了1391 篇原创文章 · 获赞 344 · 访问量 121万+ 他的留言板 关注

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...