PHP 字符串 stristr()函数
stristr()是PHP的内置函数,用于在另一个字符串中搜索字符串的第一个出现,如果找到字符串,则返回其余部分。它是一个 二进制安全 函数(二进制安全函数指的是可以在不修改文件内容的情况下对二进制文件进行操作的函数)。
stristr()是一个 不区分大小写 的函数,类似于strstr()。这两个函数都用于在另一个字符串中搜索字符串。它们之间唯一的区别是stristr()是 不区分大小写 的,而strstr()是 区分大小写 的。
注意:此函数是 二进制安全 和 不区分大小写 的函数。在stristr()函数中,’I’代表不区分大小写。
语法
PHP stristr()函数的语法如下:
stristr (string,search, $before_search)
参数
$string (必填): 此参数是一个 必要的 参数,用于指定要搜索的字符串,意味着它是要在其中搜索$search(下面讨论)值的主要字符串。
$search(必填): 此参数与$string一样也是 必填的 。此参数指定要在$string中搜索的字符串。如果此参数是数字或整数值而不是字符串,则将其作为ASCII值使用。
$before_search(可选): 此参数是一个 可选的 参数,用于指定布尔值,默认值为 FALSE 。如果我们将其设置为TRUE,则会返回搜索参数第一次出现之前字符串的部分。
返回值
PHP的stristr()返回剩余的字符串(从匹配点开始),如果未找到我们要搜索的字符串,则返回FALSE。
技术细节
PHP版本支持 | PHP 4及以上版本都支持这个函数。 |
---|---|
返回值 | 如果搜索的字符串未找到,它将返回剩余的字符串或返回False。 |
更新日志 |
- 在PHP 5.3中,此函数中添加了before_search参数。
- 在PHP 4.3中,stristr()函数成为了一个二进制安全的函数。
示例
以下是一些示例,通过这些示例你可以学习如何在程序中实际应用stristr()函数。
Input:
string = "Hello PHP! ",search = "PHP ";
Output: PHP!
Input:
string = "Hello PHP! ",search = "p ", before_search = true; //case-insensitive
Output: Hello
Input:
string = "Hello PHP! ",search = "K ", before_search = true;
Output:
以下是一些详细示例:
示例 1
这是一个简单的stristr()示例,它显示了它是一个不区分大小写的函数,并返回$search变量找到的字符串的其余部分。
<?php
string = "Welcome to javaTpoint";search1 = "a";
echo stristr(string,search1);
echo '</br>';
search2 = "J"; //case-insensitive
echo stristr(string, search2);
echo '</br>';
echo stristr(string, "WELcoME");
?>
输出:
示例2
在这个示例中,我们使用了第三个参数,即before_search = true,它将返回字符串中第一次出现search1变量之前的部分,否则返回布尔值 false 。
<?php
string = "Welcome to javaTpoint";before_search = true;
search1 = "k";
echo stristr(string, search1,before_search);
echo '</br>';
search2 = "A";
echo stristr(string, search2,before_search);
echo '</br>';
search3 = "Bhava";
var_dump(stristr(string, search3,before_search));
?>
输出:
我们使用 var_dump() 函数来打印false值,因为echo不能足够地打印这个布尔值,正如你在搜索$search1值时看到的输出结果。
示例 3
在这个示例中,我们将在$search中传递一个整数,而不是字符串或字符。它将该整数值视为ASCII值。
<?php
var_dump(stristr("I want to see the world", 117)); //117 is the ASCII value of lowercase u
echo '</br>';
var_dump(stristr("I want to see the world", 119)); //119 is the ASCII value of lowercase w.
echo '</br>';
echo stristr("I want to see the world", 78); //78 is the ASCII value of uppercase N.
?>
输出:
注意: var_dump()函数还会打印包括空格在内的字符数量以及返回类型。例如,false 是一个布尔值,而在第二行中,stristr() 返回的字符数量是一个字符串。Echo 不显示这些信息。