当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PHP String strspn()用法及代码示例


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 strspn() function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。