PHP关于strpos()函数
寻找字符串中某字符最先出现处。
语法: int strpos(string haystack, string needle, int [offset]);
返回值: 整数
关于该函数,PHP中文手册如下说明:
本函式用来寻找字串 haystack 中的字元 needle 最先出现的位置。值得注意的是 needle 只能是一个字元,中文字等就不适合了。若找不到指定的字元,则传回 false 值。参数 offset 可省略,用来Y表示从 offset 开始找。
错了吧。可以用中文的吧。只不过按照常理的一个汉字占两个字母身位……
例如:
$foo="这是一个例子,测试用。";
$num=strpos($foo,"个");
echo"$num";
?>
你看到的结果是7。为什么会这样?因为他是采用数组保存的(我猜应该是),所以是以"0"开头的。
也就是说,如果
$foo="this is a sample,just for test.";
$num=strpos($foo,"t");
所以使用该函数注意两点:
一,可以应用于中文(PHP中文手册说明有误);
二,他的计算方式。
如果想计算一个英文串中字符出现在第几个,$num++
如果是中文,$num=($num+1)/2(这个并不全对,还要考虑一下标点符号全角半角的问题,自己想想吧)
还要注意,不仅可以应用中文字,还可以应用中文字符传串(既然一个中文字可以,几个当然也可以了)。(手册中“一个字元”何解???)