为了账号安全,请及时绑定邮箱和手机立即绑定

加上 echo strpos($str,'is',3); 为什么输出55 呢?

<?php
//查找字符串
$str = 'What is your name?';
$pos = strpos($str,'name');
echo $pos;
echo "<br>";
echo strpos($str,'your');
echo "<br>";
echo strpos($str,'is');
echo strpos($str,'is',3);
?>


正在回答

3 回答

楼猪你个死鬼,都不换行!

0 回复 有任何疑惑可以回复我~

对的 就是应该输出55,应为 strpos() 函数本身是返回首次出现的位置,你要查找的字符在字符串中的位置是固定的,所以就是5 5 。后面的这个参数是 偏移量,意思是从某个位置查找并不是从某个位置开始计算。看下面的例子。

<?php
//忽视偏移量查找
$newstring = 'abcdef abcdef';
$pos = strpos($newstring, 'a');//这里返回的值是0
?>

当我们想要找第二个 “a" 时候就要用到便宜量

<?php
//使用偏移量
$newstring = 'abcdef abcdef';
$pos = strpos($newstring, 'a', 1); // $pos = 7, 不是 0 这里偏移量改成2 返回还是7.因为是从第2个字符开始查找 而不是从第2个字符开始计算
?>

1 回复 有任何疑惑可以回复我~

echo strpos($str,'is');

echo strpos($str,'is',3);

这两句输出的都是5,所以...

0 回复 有任何疑惑可以回复我~
#1

雨中的鱼L

哈哈,所以.............
2015-04-22 回复 有任何疑惑可以回复我~
#2

sassycat

看3楼
2015-09-24 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

加上 echo strpos($str,'is',3); 为什么输出55 呢?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信