PHP strspn()
函数用来计算一个或多个字符在主字符串中出现的次数,具体可以参考后面的例子。
它是一个区分大小写的函数,因此它是大小写敏感的。
语法
strspn() 函数由四个参数组成。
strspn($string, $charsearch, $start_from, $length)
参数
前面两个参数是必须的,而其余两个参数是可选的。下面给出了所有这些参数的详细信息:
参数 | 说明 | 必须/可选 |
---|---|---|
string | 指定要搜索的原字符串 | 必须 |
charsearch | 指定要搜索的一个或多个字符 | 必须 |
start_from | 搜索的开始位置
| 可选 |
length | 它定义要在$string 中搜索的字符数。如果没有给出 $length 参数,则默认检查整个 $string。 如果给定 $length 参数并且是正值,则 $charsearch 将在 $string 中从开始到 $length 值进行搜索。 如果给定 $length 参数并且是负值,则 $charsearch 将从开始位置到 $string 末尾的 $length 个字符进行搜索。 | 可选 |
返回值
strspn() 函数返回找到的总字符数。
如果 $charsearch 的任何字符在 $string 中不存在,则返回 0。
PHP 4.3 支持 length 和 start 参数
例子
下面给出一些例子,帮助你更容易、更快速地理解strspn()函数的使用方法。
示例1
这是strspn()函数简单的示例。
<?php
echo strspn( "Hie! Welcome to yxjc123", "Hie!" );
?>
输出:
4
示例2
<?php
$main_str1 = "Good Morning!";
$search_str1 = "MornGbs!";
$match_char1 =strspn( $main_str1, $search_str1);
echo "匹配的字符数 = " . $match_char1;
?>
输出:
匹配的字符数 = 3
在在这个例子中,我们没有提供 start 和 length 参数,所以它从字符串的开头到结尾开始搜索。发现有3个字符与主字符串匹配。
示例3
<?php
$main_str1 = "Good Morning!";
$search_str1 = "Morning! Good";
$match_char1 =strspn( $main_str1, $search_str1);
echo "匹配的字符数 = " . $match_char1;
?>
输出:
匹配的字符数 = 13
在本例中,整个 $search_str1 字符串在主字符串中找到,因此它返回了 13 个匹配字符。
示例4
区分大小写
<?php
$main_str1 = "Good Morning!";
$search_str1 = "GOOD MORNING!";
$match_char1 =strspn( $main_str1, $search_str1);
echo "匹配的字符数 = " . $match_char1;
?>
输出:
因为区分大小写,只有!符号匹配,此函数返回 1。
匹配的字符数 = 1
示例5
有3个参数的例子
<?php
$main_str1 = "abcdefghij";
$search_str1 = "ab";
$match_char1 =strspn( $main_str1, $search_str1, 1);
echo "匹配的字符数 = " . $match_char1;
?>
输出:
匹配的字符数 = 1
该例子中第三个参数为1,所有只有一个'b'匹配成功。