Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > by-pkgid > 05cd670d8a02b2b4a0ffb1756f2e8308 > files > 4615

php-manual-zh-5.2.4-1mdv2008.1.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
>strtok</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME"
TITLE="PHP 手册"
HREF="index.html"><LINK
REL="UP"
TITLE="String 字符串处理函数"
HREF="ref.strings.html"><LINK
REL="PREVIOUS"
TITLE="strstr"
HREF="function.strstr.html"><LINK
REL="NEXT"
TITLE="strtolower"
HREF="function.strtolower.html"><META
HTTP-EQUIV="Content-type"
CONTENT="text/html; charset=UTF-8"></HEAD
><BODY
CLASS="refentry"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>PHP 手册</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="function.strstr.html"
ACCESSKEY="P"
>上一页</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="function.strtolower.html"
ACCESSKEY="N"
>下一页</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="function.strtok"
></A
>strtok</H1
><DIV
CLASS="refnamediv"
><A
NAME="AEN228254"
></A
><P
>    (PHP 3, PHP 4, PHP 5)</P
>strtok&nbsp;--&nbsp;Tokenize string</DIV
><DIV
CLASS="refsect1"
><A
NAME="AEN228257"
></A
><H2
>Description</H2
>string <B
CLASS="methodname"
>strtok</B
> ( string str, string token )<BR
></BR
><P
>&#13;     <B
CLASS="function"
>strtok()</B
> splits a string (<CODE
CLASS="parameter"
>str</CODE
>)
     into smaller strings (tokens), with each token being delimited by any 
     character from <CODE
CLASS="parameter"
>token</CODE
>.
     That is, if you have a string like "This is an example string" you
     could tokenize this string into its individual words by using the
     space character as the token.
     <TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
CLASS="EXAMPLE"
><TR
><TD
><DIV
CLASS="example"
><A
NAME="AEN228272"
></A
><P
><B
>例 1. <B
CLASS="function"
>strtok()</B
> example</B
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><code><font color="#000000">
<font color="#0000BB">&lt;?php<br />$string </font><font color="#007700">= </font><font color="#DD0000">"This is\tan example\nstring"</font><font color="#007700">;<br /></font><font color="#FF8000">/* Use tab and newline as tokenizing characters as well&nbsp;&nbsp;*/<br /></font><font color="#0000BB">$tok </font><font color="#007700">= </font><font color="#0000BB">strtok</font><font color="#007700">(</font><font color="#0000BB">$string</font><font color="#007700">, </font><font color="#DD0000">" \n\t"</font><font color="#007700">);<br /><br />while (</font><font color="#0000BB">$tok </font><font color="#007700">!== </font><font color="#0000BB">false</font><font color="#007700">) {<br />&nbsp;&nbsp;&nbsp;&nbsp;echo </font><font color="#DD0000">"Word=$tok&lt;br /&gt;"</font><font color="#007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$tok </font><font color="#007700">= </font><font color="#0000BB">strtok</font><font color="#007700">(</font><font color="#DD0000">" \n\t"</font><font color="#007700">);<br />}<br /></font><font color="#0000BB">?&gt;</font>
</font>
</code></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
>
    </P
><P
>&#13;     Note that only the first call to strtok uses the string argument.
     Every subsequent call to strtok only needs the token to use, as
     it keeps track of where it is in the current string.  To start
     over, or to tokenize a new string you simply call strtok with the
     string argument again to initialize it.  Note that you may put
     multiple tokens in the token parameter.  The string will be
     tokenized when any one of the characters in the argument are
     found.
    </P
><P
>&#13;     The behavior when an empty part was found changed with PHP 4.1.0. The old
     behavior returned an empty string, while the new, correct, behavior
     simply skips the part of the string:
     <TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
CLASS="EXAMPLE"
><TR
><TD
><DIV
CLASS="example"
><A
NAME="AEN228278"
></A
><P
><B
>例 2. Old <B
CLASS="function"
>strtok()</B
> behavior</B
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><code><font color="#000000">
<font color="#0000BB">&lt;?php<br />$first_token&nbsp;&nbsp;</font><font color="#007700">= </font><font color="#0000BB">strtok</font><font color="#007700">(</font><font color="#DD0000">'/something'</font><font color="#007700">, </font><font color="#DD0000">'/'</font><font color="#007700">);<br /></font><font color="#0000BB">$second_token </font><font color="#007700">= </font><font color="#0000BB">strtok</font><font color="#007700">(</font><font color="#DD0000">'/'</font><font color="#007700">);<br /></font><font color="#0000BB">var_dump</font><font color="#007700">(</font><font color="#0000BB">$first_token</font><font color="#007700">, </font><font color="#0000BB">$second_token</font><font color="#007700">);<br /></font><font color="#0000BB">?&gt;</font>
</font>
</code></TD
></TR
></TABLE
><P
>&#13;       Output:
      </P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><PRE
CLASS="screen"
>string(0) ""
    string(9) "something"</PRE
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
>
     <TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
CLASS="EXAMPLE"
><TR
><TD
><DIV
CLASS="example"
><A
NAME="AEN228284"
></A
><P
><B
>例 3. New <B
CLASS="function"
>strtok()</B
> behavior</B
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><code><font color="#000000">
<font color="#0000BB">&lt;?php<br />$first_token&nbsp;&nbsp;</font><font color="#007700">= </font><font color="#0000BB">strtok</font><font color="#007700">(</font><font color="#DD0000">'/something'</font><font color="#007700">, </font><font color="#DD0000">'/'</font><font color="#007700">);<br /></font><font color="#0000BB">$second_token </font><font color="#007700">= </font><font color="#0000BB">strtok</font><font color="#007700">(</font><font color="#DD0000">'/'</font><font color="#007700">);<br /></font><font color="#0000BB">var_dump</font><font color="#007700">(</font><font color="#0000BB">$first_token</font><font color="#007700">, </font><font color="#0000BB">$second_token</font><font color="#007700">);<br /></font><font color="#0000BB">?&gt;</font>
</font>
</code></TD
></TR
></TABLE
><P
>&#13;       Output:
      </P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><PRE
CLASS="screen"
>string(9) "something"
    bool(false)</PRE
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
>
    </P
><DIV
CLASS="warning"
><P
></P
><TABLE
CLASS="warning"
BORDER="1"
WIDTH="100%"
><TR
><TD
ALIGN="CENTER"
><B
>警告</B
></TD
></TR
><TR
><TD
ALIGN="LEFT"
><P
>本函数可能返回布尔值
<TT
CLASS="constant"
><B
>FALSE</B
></TT
>,但也可能返回一个与 <TT
CLASS="constant"
><B
>FALSE</B
></TT
> 等值的非布尔值,例如
<TT
CLASS="literal"
>0</TT
> 或者 ""。请参阅<A
HREF="language.types.boolean.html"
>布尔类型</A
>章节以获取更多信息。应使用
<A
HREF="language.operators.comparison.html"
>=== 运算符</A
>来测试本函数的返回值。</P
></TD
></TR
></TABLE
></DIV
><P
>&#13;     See also <A
HREF="function.split.html"
><B
CLASS="function"
>split()</B
></A
> and
     <A
HREF="function.explode.html"
><B
CLASS="function"
>explode()</B
></A
>.
    </P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="function.strstr.html"
ACCESSKEY="P"
>上一页</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>起始页</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="function.strtolower.html"
ACCESSKEY="N"
>下一页</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>strstr</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="ref.strings.html"
ACCESSKEY="U"
>上一级</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>strtolower</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>