PHP8 —— New String Helpers
新增了三个字符串函数,str_starts_with, str_ends_with, str_contains, PHP 的函数这么方便,很难想象竟然一直没有这几个。
str_starts_with
判断字符串是否以另一个字符串开头,在PHP7以及之前
$id = 'inv_abcdefgh';
$result = strpos($id, 'inv_') === 0;
var_dump($result); // true
PHP8 中可以直接这么写
$result = str_starts_with($id, 'inv_');
str_ends_with
判断字符串是否以另外一个字符串结尾,在 PHP7 及之前,比较麻烦,通常是这么写
$id = 'abcd_inv';
$result = strpos(strrev($id), strrev('_inv')) === 0;
或者
$result = substr($id, -1 * strlen('_inv')) === '_inv';
或者上正则吧
$result = preg_match('/_inv$/', $id) === 1;
看起来都是比较麻烦的。PHP8 里面可以简化成下面这样了
$id = 'abcd_inv';
$result = str_ends_with($id, '_ind');
str_contains
字符串包含,PHP8 之前一般就是 strpos 来实现了
$url = 'https://example?for=bar';
$result = strpos($url, '?') !== FALSE;
PHP8 就直接一点
$result = str_contains($url, '?');
评论