PHP 字符串函数

stristr()是 PHP 的一个内置函数,用于在一个字符串中搜索指定字符串的第一次出现的位置,如果该字符串存在则返回该字符串的其余部分。

它是一个二进制安全的函数(二进制安全函数的意思是——一个可以在二进制文件上执行而不修改文件内容的函数)。

stristr()是一个不区分大小写 函数,它类似于strstr()。这两个函数都用于一个字符串中指定字符串第一次出现的位置。它们之间的唯一区别是 stristr() 是不区分大小写,而 strstr() 是 区分大小写 函数。

注意: 这个函数是二进制安全和不区分大小写的。 stristr()函数中'I'代表大小写不敏感。

语法

PHP stristr()函数的语法如下:

stristr ($string, $search, $before_search)

参数

参数说明可选/必须
string该参数为指定要搜索的原字符串。
必须
search指定要搜索的字符串。如果这个参数是一个数字或整数值而不是一个字符串,那么它将使用它作为 ASCII 值。
必须
before_search默认值为FALSE。如果我们将其设置为 TRUE,那么它将返回第一次出现搜索参数之前的字符串,即返回搜索定位之前的部分。
可选

返回值

PHP stristr() 返回包括匹配搜索的剩余字符串,如果找不到指定搜索的字符串则返回 FALSE。

技术细节

PHP 版本支持PHP 4 及以上版本支持此功能。
返回值返回字符串的其余部分,如果没有找到要搜索的字符串,则返回 False。
更新日志
  • 在 PHP 5.3 中,在该函数中添加了 before_search 参数。
  • stristr() 函数在 PHP 4.3 中成为二进制安全函数。

示例

下面是一些示例,您可以通过这些示例了解程序中stristr()函数的用法。

例子1

<?php 
        $string = "Welcome to yxjc123";
    $search1 = "y";
    echo stristr($string, $search1);
    
    echo '</br>';
    $search2 = "c";            //不区分大小写
    echo stristr($string, $search2);
    
    echo '</br>';
    echo stristr($string, "welcome");
?>

输出:

yxjc123
come to yxjc123
Welcome to yxjc123

示例2

在本例中,我们使用第三个参数,即 $before_search = true,这将返回第一次出现 $search1 变量之前的字符串部分,否则为布尔值 false.

<?php 
        $string =  "Welcome to yxjc123";
    $before_search = true;
    $search1 = "k";
    echo stristr($string, $search1, $before_search);
    
    echo '</br>';
    $search2 = "A";
    var_dump(  stristr($string, $search2, $before_search) );
    
    echo '</br>';
    $search3 = "b";
    var_dump(stristr($string, $search3, $before_search) );
?>

输出:

bool(false)
bool(false)

var_dump() 函数可以打印布尔值,如果是echo则显示不了这样的信息。

示例3

在这个示例中,我们将传递一个整数在 $search 而不是字符串或字符中。它将整数值视为 ASCII 值。

<?php 
        var_dump(stristr("I want to see the world", 117));    //117 是小写 u 的 ASCII 值
    echo '</br>';
    var_dump(stristr("I want to see the world", 119));    //119 是小写 w 的 ASCII 值。
    echo '</br>';
    echo stristr("I want to see the world", 78);    //78 是大写 N 的 ASCII 值。
?>   

输出:

bool(false)
string(21) "want to see the world"
nt to see the world

注意: var_dump() 函数可以打印布尔值,如果是echo则显示不了这样的信息。