PHP 字符串函数

PHP strspn()函数用来计算一个或多个字符在主字符串中出现的次数,具体可以参考后面的例子。

它是一个区分大小写的函数,因此它是大小写敏感的。

语法

strspn() 函数由四个参数组成。

strspn($string, $charsearch, $start_from, $length)

参数

前面两个参数是必须的,而其余两个参数是可选的。下面给出了所有这些参数的详细信息:

参数说明必须/可选
string
指定要搜索的原字符串必须
charsearch
指定要搜索的一个或多个字符必须
start_from

搜索的开始位置

  • 如果给定 $start 并且它是一个非负值,那么搜索将从$start 参数。
  • 如果给定 $start 并且是负值,则 strspn() 函数将从 $string 中该位置的末尾开始搜索 $charsearch。
可选
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'匹配成功。