PHP 字符串 strspn()函数
strspn()函数是PHP的一个内建函数。此函数用于查找放置在另一个字符串中的字符串的初始段的长度。简单来说,strspn()函数帮助我们找到“在另一个字符串中有多少个字符?”它返回仅包含$charsearch参数中字符的字符串中找到的字符总数。
它是 区分大小写 的函数,区分大写和小写字符。
语法
strspn()的语法如下,由四个参数组成。
strspn( string,charsearch, start_from,length)
参数
strspn()函数有四个参数,如上所示的语法。其中,有两个参数是必需的,而另外两个参数是可选的。下面是所有这些参数的详细信息:
$string (必需): 这是一个必需的字符串参数,其中我们查找搜索字符串。该参数指定要搜索的字符串。
$charsearch (必需): 这也是一个必需的参数,用于指定要在给定的$string参数中搜索的字符列表。
$start (可选): 这个参数是可选的,它指定我们从$string参数的哪里开始搜索。该参数保存一个整数值。
- 如果 $start 存在且为非负值,则从$start参数中给定的位置开始搜索。
- 如果 $start 存在且包含负值,则strspn()函数将从string中该位置的末尾开始搜索charsearch。
$length (可选): 这是一个可选参数,用于定义要在string中搜索的字符数。如果未提供length参数,则默认情况下它将检查整个$string。
- 如果 $length 参数存在且具有正值,则从开始到length值,在string中搜索$charsearch。
- 如果 $length 参数存在且具有负值,则从开始位置到string的末尾的第length个字符,搜索$charsearch。
返回值
strspn()函数返回最初在string中找到的字符总数,该字符由charsearch参数包含。
如果在string中不存在charsearch的任何字符,则返回0。
注意: 长度和起始参数支持PHP 4.3及以上版本。
示例
以下是一些示例,这些示例将帮助你更轻松和快速地理解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;
?>
输出:
在这个示例中,我们没有提供开始和长度参数,所以它从字符串的开头开始搜索到结束。发现有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个匹配的字符。这个函数将”Good Morning!”和”Morning! Good”视为相似的。
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之外,它在处理”Good Morning!”和”GOOD MORNING!”时是有区分大小写的。只有两个字符串的首字母相互匹配。这证明了以下函数是区分大小写的。
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