首页 » 建站技术 » PHP 技术 » 浏览内容

strpos —  找出字符串第一次出现的位置(从左到右查找)


2005-06-08 15:09:09 13,895 0 发表评论 字体: 作者:C.K.
标签: 字符串

体验版 88 元,个人版 128 元,多用户版 288元个人版160元升级到多用户版。

strpos

(PHP 3, PHP 4, PHP 5)

strpos —  找出字符串第一次出现的位置(从左到右查找)

说明

int strpos ( string haystack, mixed needle [, int offset] )

传回参数 needle在字符串 haystack中第一次出现的位置,以数字表示。不像strrpos( ),此函数可以取参数 needle全部的字符串,而且会使用全部的字符串。

如果找不到参数 needle,则传回 false。参数 offset 可省略,用来表示从 offset 开始找。

语法

从开头到末尾查找字符串中指定字符

StrPos('源字符串','要查找的字符')

从指定开始处查找

StrPos('源字符串','要查找的字符',查找的开始位置)

警告

本函数可能返回布尔值 FALSE,但也可能返回一个与 FALSE 等值的非布尔值,例如 0 或者 “”。请参阅布尔类型章节以获取更多信息。应使用 === 运算符来测试本函数的返回值。

注: 该函数可安全用于二进制对象。

例子 1. strpos() examples

$mystring = 'abc';
  • $findme   = 'a';
  • $pos = strpos($mystring, $findme);
  • // Note our use of ===.  Simply == would not work as expected
  • // because the position of 'a' was the 0th (first) character.
  • if ($pos === false) {
  •     echo "The string '$findme' was not found in the string '$mystring'";
  • } else {
  •     echo "The string '$findme' was found in the string '$mystring'";
  •     echo " and exists at position $pos";
  • }
  • // We can search for the character, ignoring anything before the offset
  • $newstring = 'abcdef abcdef';
  • $pos = strpos($newstring, 'a', 1); // $pos = 7, not 0
  • ?>
  • 如果参数 needle不是字符串时,它会转换成整数并且按照字符的顺序值来使用。

    参数 offset允许你去指定在 haystack中从那一个字符开始搜寻,传回的位置依然是相对于 haystack的起点。

    参见 strrpos(), stripos(), strripos(), strrchr(), substr(), stristr(), and strstr().

    另:

    可以用中文的。只不过按照常理的一个汉字占两个字母位……
    例如:
    $foo=”这是一个例子,测试用。”;
    $num=strpos($foo,”个”);
    echo”$num”;
    ?>
    你看到的结果是6。为什么会这样?因为他是采用数组保存的(我猜应该是),所以是以”0″开头的。
    也就是说,如果
    $foo=”this is a sample,just for test.”;
    $num=strpos($foo,”t”);
    结果将是0,对,没错。

    所以使用该函数注意两点:
    一,可以应用于中文(PHP中文手册说明有误);
    二,他的计算方式。
    如果想计算一个英文串中字符出现在第几个,$num++
    如果是中文,$num=($num+1)/2(这个并不全对,还要考虑一下标点符号全角半角的问题,自己想想吧)

    还要注意,不仅可以应用中文字,还可以应用中文字符传串(既然一个中文字可以,几个当然也可以了)。(手册中“一个字元”何解???)

    网站统计 Statistics

    • 创建时间: 2005年1月3日 距今5067 天
    • 日志总数: 2461
    • 评论总数: 630
    • 标签总数: 654
    • 链接总数: 273
    • 最后更新: 2018-8-31 17:57:04
    • 您是本站第 14170035 位访客

    广告区 Guǎng Gào