strpos()
和strstr()
都是用于在字符串中查找子字符串的PHP內置函數,它們之間的主要區別在于它們的返回值和用法。
strpos()
: strpos()
函數返回字符串中第一次出現指定子字符串的位置(索引),如果未找到該子字符串,則返回false
。在使用strpos()
函數時,需要注意檢查返回值是否嚴格等于false
,因為如果子字符串出現在字符串的第一個位置,strpos()
將返回0
,這可能會導致問題。$string = "Hello, World!";
$pos = strpos($string, "World");
if ($pos !== false) {
echo "Found 'World' at position: " . $pos;
} else {
echo "Not found";
}
strstr()
: strstr()
函數返回字符串中第一次出現指定子字符串及其余的部分,如果未找到該子字符串,則返回false
。與strpos()
不同,strstr()
返回的是從子字符串開始到字符串末尾的所有字符,而不是索引位置。$string = "Hello, World!";
$substring = strstr($string, "World");
if ($substring) {
echo $substring;
} else {
echo "Not found";
}
綜上所述,strpos()
用于獲取子字符串在字符串中的位置,而strstr()
用于返回從子字符串開始到字符串末尾的所有字符。選擇哪個函數取決于具體的需求和用法。