當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。
ChangeLog
  • 在 strstr() 中,PHP 5.3 中添加了 $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() function

例子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() function

例子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() function

注意:var_dump() 函數主要用於在瀏覽器上顯示布爾值。除了布爾值之外,它還顯示參數的數據類型和該參數中可用的字符數,如上例所示。 Echo 不足以打印這些信息。







相關用法


注:本文由純淨天空篩選整理自 PHP String strstr() function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。