PHP String strstr()函数

PHP String strstr()函数

strstr()函数是PHP的内置函数。它是一个 区分大小写 的函数,用于找到字符串的第一个出现位置。strstr()主要用于在另一个字符串中搜索第一个字符串的出现位置,并显示后者从前者的第一个出现位置开始的一部分。

它是一个 二进制安全 函数,意味着可以在不修改文件内容的情况下对二进制文件进行操作。strstr()函数类似于stristr()函数,但唯一的区别是stristr()是不区分大小写的函数,而strstr()是区分大小写的。

注意:strstr()是一个二进制安全且区分大小写的函数。

语法

PHP strstr()函数的语法如下,包含三个参数。

stristr (string,search, $before_search)

参数

$string (必需): $string是一个必需参数,用于指定要搜索的字符串。换句话说,它是$ search值在其中搜索的主字符串参数。

$search (必需): 这个函数的下一个 必需的 参数是search。它指定要在string参数中搜索的字符串。如果此参数包含一个数字或整数值而不是字符串,则它将搜索与该数字的ASCII值匹配的字符。

$before_search (可选): 这是strstr()函数的最后一个且 可选的 参数,它指定布尔值,默认值为 FALSE 。如果我们将其设置为TRUE,则它将返回在搜索参数的第一次出现之前的字符串部分。

返回值

PHP的strstr()函数返回剩余的字符串(从匹配点开始),如果找不到搜索的字符串,则返回 FALSE

技术细节

PHP版本支持 PHP 4+版本支持此函数。
返回值 strstr()函数返回字符串的剩余部分,如果搜索的字符串未找到,则返回False。
更新日志
  • 在PHP 5.3中,strstr()函数中添加了$before_search参数。

strstr()的示例

下面给出了一些示例,这些示例将帮助我们了解这个函数的实际用法。

//Returns remaining string after search found
Input:
string1 = "Hello! Good Morning everyone",search1 = "Good";
Output: Morning everyone

//case-sensitive, returns nothing
Input:
string = "Hello! Good Morning everyone ",search = "HELLO ";
Output:                             

//Returns initial string when search found
Input:
string = "Hello! Good Morning everyone",search = "Good", before_search = true;
Output: Hello!                              

//Passing ASCII value of r which is 114
Input:
string = "I want to travel the world ",search = "114", before_search = true;
Output: I want to t

下面给出了一些详细的示例。通过这些示例,我们可以更好地理解该函数的用法。

示例1

这是一个简单的strstr()示例,它显示它是区分大小写的函数,因此如果字符串不匹配,则返回FALSE。它将返回$ search变量在字符串中找到的位置之后的剩余字符串。

<?php 
    string = "Welcome to javaTpoint";search1 = "e";
    echo strstr(string,search1);

    echo '</br>';
    search2 = "JAVA";          //case-sensitive
    var_dump(strstr(string, search2));

    echo '</br>';
    var_dump(strstr(string, "WeLcOmE"));
?>

输出:

PHP String strstr()函数

示例2

在下面的示例中,我们将使用第三个参数$before_search,其默认值为 FALSE 。在这里,我们将将其设置为 TRUE ,它将返回字符串在第一次出现$search参数之前的部分。如果未找到搜索字符串,则返回布尔值 false

<?php 
string = "Welcome to javaTpoint website.";before_search = true;
    search1 = "a";    echo strstr(string, search1,before_search);

    echo '</br>';
    search2 = "E";
    var_dump(strstr(string, search2,before_search));

    echo '</br>';
    search3 = "nt";
    echo strstr(string, search3,before_search);
?>

输出:

PHP String strstr()函数

示例3

我们还可以在search参数中传递整数值,而不是字符串或字符。这个整数值被视为ASCII值,并转换为字符。在这个示例中,我们将在search中传递一个整数。

<?php 
    //119 is the ASCII value of lowercase w
    echo strstr("There are seven wonders in the world.", 119, true);    
    echo '</br>';

    //84 is the ASCII value of uppercase T
    var_dump(strstr("There are seven wonders in the world.", 84));      
    echo '</br>';

    //79 is the ASCII value of uppercase O
    var_dump(strstr("There are seven wonders in the world.", 79));  
?>  

输出:

PHP String strstr()函数

注意:var_dump() 函数主要用于在浏览器中显示布尔值。除了布尔值之外,它还会显示参数的数据类型和参数中可用的字符数量,就像你在上面的示例中看到的那样。echo 不足以打印这些信息。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程