首页 » PHP教程 » php追加字符串技巧_WordPress 59 供应了 PHP 8 新增的三个字符串函数的 polyfill

php追加字符串技巧_WordPress 59 供应了 PHP 8 新增的三个字符串函数的 polyfill

duote123 2024-11-06 0

扫一扫用手机浏览

文章目录 [+]

polyfill 的意思是纵然你做事器 PHP 版本没有 8.0 版本,WordPress 也自己实现了这三个函数,只要你的 WordPress 是 5.9 版本,就可以完备放心的利用 str_contains()、 str_starts_with()、 str_ends_with() 这三个函数。

str_contains

检测一个字符串是否含有另一个子字符串。

php追加字符串技巧_WordPress 59 供应了 PHP 8 新增的三个字符串函数的 polyfill

在 PHP7 中我们一样平常利用 strpos 方法来检测,但是利用起来总是不足直不雅观,常常还须要查询文档才能明白什么意思,特殊是对付新伎俩式员来说,更不随意马虎理解。

php追加字符串技巧_WordPress 59 供应了 PHP 8 新增的三个字符串函数的 polyfill
(图片来自网络侵删)

str_contains(string $haystack, string $needle): bool

利用 str_contains 函数的时候,要把稳,对付英文,大小写敏感的,其余如果 $needle 为空,则返回 true。

WordPress 5.9 str_contains polyfill:

if ( ! function_exists( 'str_contains' ) ) {function str_contains( $haystack, $needle ) {return ( '' === $needle || false !== strpos( $haystack, $needle ) );}}str_starts_with 和 str_ends_with

这个函数很类似,第一个是检测一个字符串是否以另一个字符串开头,第二个是结尾。

在 PHP7 中我们常常利用 substr_compare 或 strpos 来实现相应的功能,这样的代码不足直不雅观,而且效率也不高。

str_starts_with(string $haystack, string $needle): bool

str_ends_with(string $haystack, string $needle): bool

这两个函数也是一样,对付英文,大小写敏感的,其余如果 $needle 为空,则返回 true,可以理解为任何字符串以空字符串开始,也因此空字符结尾。

WordPress 5.9 str_starts_with 和 str_ends_with polyfill:

if ( ! function_exists( 'str_starts_with' ) ) {function str_starts_with( $haystack, $needle ) {if ( '' === $needle ) {return true;}return 0 === strpos( $haystack, $needle );}}

if ( ! function_exists( 'str_ends_with' ) ) {function str_ends_with( $haystack, $needle ) {if ( '' === $haystack && '' !== $needle ) {return false;}$len = strlen( $needle );return 0 === substr_compare( $haystack, $needle, -$len, $len );}}array_key_first 和 array_key_last 函数

在 PHP 7.2 中,通过利用 reset(),end() 和 key() 等方法,通过改变数组的内部指针来获取数组首尾的键和值。
现在,为了避免这种内部滋扰,PHP 7.3 推出了新的函数来办理这个问题:

$key = array_key_first($array); 获取数组第一个元素的键名$key = array_key_last($array); 获取数组末了一个元素的键名

我之前在 WPJAM Basic 实现这两个函数的 polyfill,现在 WordPress 5.9 也实现了这两个函数的 polyfill:

if ( ! function_exists( 'array_key_first' ) ) {function array_key_first( array $arr ) {foreach ( $arr as $key => $value ) {return $key;}}}

if ( ! function_exists( 'array_key_last' ) ) {function array_key_last( array $arr ) {if ( empty( $arr ) ) {return null;}end( $arr );return key( $arr );}}

相关文章

介绍点焊技术,现代焊接工艺的基石

焊接作为一种古老的金属加工技术,在人类社会发展进程中扮演着举足轻重的角色。点焊技术作为焊接领域的重要分支,以其高效、节能、环保的特...

PHP教程 2024-12-17 阅读0 评论0

介绍模型剪枝,提升AI效率的艺术

随着人工智能技术的飞速发展,深度学习模型在各个领域发挥着越来越重要的作用。随着模型复杂度的不断提升,其计算资源消耗和运行时间也随之...

PHP教程 2024-12-17 阅读0 评论0

介绍猜马游戏,趣味与步骤并重的智力挑战

猜马游戏,作为一种传统的智力游戏,在我国有着悠久的历史。它以趣味性、挑战性为特点,深受广大人民群众的喜爱。本文将为您详细介绍猜马游...

PHP教程 2024-12-17 阅读0 评论0