strspn() 函数是 PHP 的内置函数。此函数用于查找放置在另一个字符串中的字符串的初始段的长度。简单来说 - strspn() 函数帮助我们找到“另一个字符串中有多少个字符?”它返回在仅包含来自 $charsearch 参数的字符的字符串中找到的字符总数。
它是区分大小写的函数,它以不同的方式处理大写和小写字符。
用法
strspn() 的语法如下,由四个参数组成。
strspn( $string, $charsearch, $start_from, $length)
参数
strspn() 函数包含四个参数,如上述语法所示。其中,两个参数是强制性的,而其余两个参数是可选的。所有这些参数的详细信息如下:
$string (mandatory):它是一个强制性的字符串参数,我们可以在其中找到搜索字符串。此参数指定要搜索的字符串。
$charsearch(强制):它也是一个强制参数,它指定要在给定的 $string 参数中搜索的字符列表。
$start(可选):此参数是可选的,它指定我们要从 $string 参数中开始搜索的位置。此参数保存一个整数值。
- 如果给出了 $start 并且它是一个非负值,那么搜索将从 $start 参数中给出的那个位置开始。
- 如果给定 $start 并包含负值,则 strspn() 函数将从 $string 中该位置的末尾开始搜索 $charsearch。
$length(可选):该参数是一个可选参数,它定义了在$string 中要搜索的字符数。如果没有给出 $length 参数,默认情况下它会检查整个 $string。
- 如果给定 $length 参数并具有正值,则 $charsearch 将在 $string 中从开头到 $length 值进行搜索。
- 如果给出了 $length 参数并且有一个负值,那么 $charsearch 将从起始位置到 $string 末尾的 $length 字符进行搜索。
返回值
strspn() 函数返回最初在 $string 中找到的字符总数,它包含在 $charsearch 参数中。
如果 $string 中不存在 $charsearch 的任何字符,则返回 0。
注意:PHP 4.3及以上版本支持length和start参数。
例子
下面给出了一些示例,可以帮助您更轻松、更快速地了解 strspn() 函数的工作原理。
Input $string = ABCDEFGHIJKL, $charsearch = ABCDGHI Output = 4 Input $string = ABCDEFGHIJKL, $charsearch = abc //case-sensitive Output = 0 Input $string = ABCDEFGHIJKL, $charsearch = ABCDE, start = 2 Output = 3
例子1
这是 strspn() 函数的基本且非常简单的示例。
<?php
echo strspn( "Hie! Welcome to javaTpoint", "Hie!" );
?>
输出:
4
例子2
<?php
$main_str1 = "Good Morning!";
$search_str1 = "MornGbs!";
$match_char1 =strspn( $main_str1, $search_str1);
echo "Number of characters matched = " . $match_char1;
?>
输出:
在这个例子中,我们没有提供 start 和 length 参数,所以它从字符串的开头到结尾开始搜索。发现有3个字符与主字符串匹配。
Number of characters matched = 3
例子3
<?php
$main_str1 = "Good Morning!";
$search_str1 = "Morning! Good";
$match_char1 =strspn( $main_str1, $search_str1);
echo "Number of characters matched = " . $match_char1;
?>
输出:
在这个例子中,整个 $search_str1 字符串在主字符串中找到,所以它返回了 13 个匹配的字符。此函数查找“早安!”与《早安!好》相似。
Number of characters matched = 13
范例4:区分大小写
<?php
$main_str1 = "Good Morning!";
$search_str1 = "GOOD MORNING!";
$match_char1 =strspn( $main_str1, $search_str1);
echo "Number of characters matched = " . $match_char1;
?>
输出:
此函数已返回 1,因为它处理了“早安!”和“早上好!”除了 G 不同。只有两个字符串的第一个字母相互匹配。证明下面的函数是区分大小写的。
Number of character matches = 1
例 5
<?php
$main_str1 = "abcdefghij";
$search_str1 = "AB";
$match_char1 =strspn( $main_str1, $search_str1);
echo "Number of characters matched = " . $match_char1;
?>
输出:
在本例中,strspn() 函数返回 0,因为 AB 与主字符串不匹配。
Number of characters matched = 0
相关用法
- PHP String strstr()用法及代码示例
- PHP String strtr()用法及代码示例
- PHP String strtolower()用法及代码示例
- PHP String strtoupper()用法及代码示例
- PHP String strtok()用法及代码示例
- PHP String str_replace()用法及代码示例
- PHP String strrpos()用法及代码示例
- PHP String sprintf()用法及代码示例
- PHP String substr()用法及代码示例
- PHP String substr_count()用法及代码示例
- PHP String substr_replace()用法及代码示例
- PHP String sscanf()用法及代码示例
- PHP String substr_compare()用法及代码示例
- PHP String wordwrap()用法及代码示例
- PHP String ucwords()用法及代码示例
- PHP String localeconv()用法及代码示例
- PHP String quoted_printable_encode()用法及代码示例
- PHP String ucfirst()用法及代码示例
- PHP String nl2br()用法及代码示例
- PHP String vsprintf()用法及代码示例
注:本文由纯净天空筛选整理自 PHP String strspn() function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。