0

我正在执行此操作。

$title = "Group CIO, Member of the Executive Committee";

 $pos = strripos($title,"cio");

而不是$pos8我一样获得价值,而是获得$pos价值6。可能是什么原因?

4

5 回答 5

3

*pos*我知道的所有函数都返回匹配开始的索引。如果您想知道匹配在哪里结束,只需将字符串的长度相加并减去 1:

$pos = strripos($title, "cio") + strlen("cio") - 1;
于 2012-10-31T07:41:47.553 回答
2

因为它的位置是6...

0123456
Group CIO, Member...
于 2012-10-31T07:40:11.123 回答
2

在 haystack 字符串中查找最后一次出现 needle 的数字位置。

最后一次出现是句子中的第二个单词,位置 6开始

你为什么期待第 8 位?

于 2012-10-31T07:41:31.687 回答
2

你为什么期待8?

让我演示一下:

000000000011111111112
012345678901234567890
Group CIO, Member of ...
      ^

手册

返回针相对于 haystack 字符串开头的位置(与偏移量无关)。另请注意,字符串位置从 0 开始,而不是 1

于 2012-10-31T07:41:47.113 回答
2

strripos查找最后一次出现的针的第一个字符。您必须手动添加针长

$pos = strripos($title,"cio")+strlen("cio")-1;
于 2012-10-31T07:41:52.917 回答