PHP str_ends_with 详解
时间: 2024-09-08 08:12:04
(部分内容来自网络,其真实性存疑,为了避免对您造成误导,请谨慎甄别。)
str_ends_with
是 PHP 8 中引入的一个内置函数,用于检查一个字符串是否以另一个指定的字符串结尾。这个函数非常简单易用,同时也使得代码更加清晰。
函数原型
</code>
php
bool str_ends_with(string $haystack, string $needle)
</code>
参数
- $haystack:待检查的主字符串(被检查的字符串)。
- $needle:要匹配的结尾字符串(要检查的子字符串)。
返回值
- 返回 true
如果 $haystack
以 $needle
结尾;如果不以 $needle
结尾,返回 false
。
示例
下面是一些使用 str_ends_with
函数的示例:
php
<?php
// 示例 1
$string1 = "Hello, world!";
$endString1 = "world!";
if (str_ends_with($string1, $endString1)) {
echo "字符串 '{$string1}' 以 '{$endString1}' 结尾。";
} else {
echo "字符串 '{$string1}' 不以 '{$endString1}' 结尾。";
}
// 输出: 字符串 'Hello, world!' 以 'world!' 结尾。
// 示例 2
$string2 = "Hello, world!";
$endString2 = "Hello!";
if (str_ends_with($string2, $endString2)) {
echo "字符串 '{$string2}' 以 '{$endString2}' 结尾。";
} else {
echo "字符串 '{$string2}' 不以 '{$endString2}' 结尾。";
}
// 输出: 字符串 'Hello, world!' 不以 'Hello!' 结尾。
// 示例 3: 忽略大小写
$string3 = "Hello, World!";
$endString3 = "world!";
if (str_ends_with(strtolower($string3), strtolower($endString3))) {
echo "字符串 '{$string3}' 以 '{$endString3}' 结尾(忽略大小写)。";
} else {
echo "字符串 '{$string3}' 不以 '{$endString3}' 结尾(忽略大小写)。";
}
// 输出: 字符串 'Hello, World!' 不以 'world!' 结尾(忽略大小写)。
?>
注意事项
1. 区分大小写:str_ends_with
是区分大小写的。如果您想忽略大小写,您需要先将字符串转换为统一的大小写(例如使用 strtolower
或 strtoupper
)。
2. 空字符串:如果 $needle
是一个空字符串,str_ends_with
总是会返回 true
,因为任何字符串都可以被认为是以空字符串结尾的。
3. 性能:str_ends_with
由于其内部实现性能良好,但在实际应用中,如果频繁调用同一字符串的结尾检查,可能需要考虑整体性能。
利用 str_ends_with
,您可以更轻松地进行字符串结尾的检查,从而提高代码的可读性和简洁性。