php中strpos什么意思,PHP使用strpos()和strrpos()定位文本

在PHP中,要找出在另一个字符串中出现文本字符串的索引偏移量,可使用strpos()。

strstr()函数有两个参数:

要搜索的字符串

要查找的搜索文本。

如果找到字符串,strpos()将返回字符串中文本的第一个字符的索引。

如果找不到字符串,strpos()返回false:

$myString = "Hello, world!";

echo strpos( $myString, "wor" ); // 显示 '7'

echo strpos( $myString, "xyz" ); // 显示 '(false)

?>

当搜索到的文本出现在字符串的开头时,strpos()返回0。如果不注意,很容易将误认为它的返回值是false。

例如,以下代码将错误地显示“Not found”:

$myString = "Hello, world!";

if ( !strpos( $myString, "Hel" ) ) echo "Not found";

?>

执行上面示例代码,得到以下结果:

Not found

要明确测试错误的返回值。以下代码正常工作:

示例代码

$myString = "Hello, world!";

if ( strpos( $myString, "Hel" ) === false ) echo "Not found";

?>

strpos()可使用可选的第三个参数:字符串中的索引位置以开始搜索。如下示例:

$myString = "Hello, world!";

echo strpos( $myString, "o" ) . " \n"; // 显示 '4'

echo strpos( $myString, "o", 5 ) . " \n"; // 显示 '8'

?>

执行上面示例代码,得到以下结果:

4

8

可以使用第三个参数查找字符串中所有出现的搜索文本:

$myString = "Hello, world!";

$pos = 0;//

while ( ( $pos = strpos( $myString, "l", $pos ) ) !== false ) {

echo "The letter'l'was found at position: $pos \n ";

$pos++;

}

?>

执行上面示例代码,得到以下结果:

The letter'l'was found at position: 2

The letter'l'was found at position: 3

The letter'l'was found at position: 10

strpos()有一个相类似函数strrpos(),它们基本上功能相同; 唯一的区别是strrpos()找到字符串中的最后一个匹配,而不是第一个匹配:

$myString = "Hello, world!";

echo strpos( $myString, "o" ) . " \n "; // 显示'4'

echo strrpos( $myString, "o" ) . " \n "; // 显示'8'

?>

执行上面示例代码,得到以下结果:

4

8

使用strpos(),可以传递一个可选的第三个参数,指示从字符串的开始搜索的索引位置。如果此索引位置为负,则strrpos()从字符串末尾多个字符开始搜索。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值