Sophie

Sophie

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

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
>split</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME"
TITLE="PHP 手册"
HREF="index.html"><LINK
REL="UP"
TITLE="POSIX 扩展正则表达式函数"
HREF="ref.regex.html"><LINK
REL="PREVIOUS"
TITLE="eregi"
HREF="function.eregi.html"><LINK
REL="NEXT"
TITLE="spliti"
HREF="function.spliti.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.eregi.html"
ACCESSKEY="P"
>上一页</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="function.spliti.html"
ACCESSKEY="N"
>下一页</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="function.split"
></A
>split</H1
><DIV
CLASS="refnamediv"
><A
NAME="AEN184003"
></A
><P
>    (PHP 3, PHP 4, PHP 5)</P
>split&nbsp;--&nbsp;用正则表达式将字符串分割到数组中</DIV
><DIV
CLASS="refsect1"
><A
NAME="AEN184006"
></A
><H2
>说明</H2
>array <B
CLASS="methodname"
>split</B
> ( string pattern, string string [, int limit] )<BR
></BR
><DIV
CLASS="tip"
><BLOCKQUOTE
CLASS="tip"
><P
><B
>提示: </B
>
    <A
HREF="function.preg-split.html"
><B
CLASS="function"
>preg_split()</B
></A
> 函数使用了
    Perl 兼容正则表达式语法,通常是比
    <B
CLASS="function"
>split()</B
> 更快的替代方案。如果不需要正则表达式的威力,则使用
    <A
HREF="function.explode.html"
><B
CLASS="function"
>explode()</B
></A
> 更快,这样就不会招致正则表达式引擎的浪费。
   </P
></BLOCKQUOTE
></DIV
><P
>&#13;   本函数返回一个字符串数组,每个单元为
   <CODE
CLASS="parameter"
>string</CODE
> 经区分大小写的正则表达式
   <CODE
CLASS="parameter"
>pattern</CODE
> 作为边界分割出的子串。如果设定了
   <CODE
CLASS="parameter"
>limit</CODE
>,则返回的数组最多包含
   <CODE
CLASS="parameter"
>limit</CODE
> 个单元,而其中最后一个单元包含了
   <CODE
CLASS="parameter"
>string</CODE
> 中剩余的所有部分。如果出错,则
   <B
CLASS="function"
>split()</B
> 返回 <TT
CLASS="constant"
><B
>FALSE</B
></TT
>。
  </P
><P
>&#13;   将 <TT
CLASS="filename"
>/etc/passwd</TT
> 中的前四个字段分割出来:
  </P
><P
>&#13;   <TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
CLASS="EXAMPLE"
><TR
><TD
><DIV
CLASS="example"
><A
NAME="AEN184036"
></A
><P
><B
>例 1. <B
CLASS="function"
>split()</B
> 例子</B
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><code><font color="#000000">
<font color="#0000BB">&lt;?php<br /></font><font color="#007700">list(</font><font color="#0000BB">$user</font><font color="#007700">, </font><font color="#0000BB">$pass</font><font color="#007700">, </font><font color="#0000BB">$uid</font><font color="#007700">, </font><font color="#0000BB">$gid</font><font color="#007700">, </font><font color="#0000BB">$extra</font><font color="#007700">) =<br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">split </font><font color="#007700">(</font><font color="#DD0000">":"</font><font color="#007700">, </font><font color="#0000BB">$passwd_line</font><font color="#007700">, </font><font color="#0000BB">5</font><font color="#007700">);<br /></font><font color="#0000BB">?&gt;</font>
</font>
</code></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
>
  </P
><P
>&#13;   如果字符串中有 <TT
CLASS="replaceable"
><I
>n</I
></TT
> 个与
   <CODE
CLASS="parameter"
>pattern</CODE
> 匹配的项目,则返回的数组将包含
   <TT
CLASS="literal"
><TT
CLASS="replaceable"
><I
>n</I
></TT
>+1</TT
> 个单元。例如,如果没有找到
   <CODE
CLASS="parameter"
>pattern</CODE
>,则会返回一个只有一个单元的数组。当然,如果
   <CODE
CLASS="parameter"
>string</CODE
> 为空也是这样。
  </P
><P
>&#13;   解析可能用斜线,点,或横线分割的日期:
  </P
><P
>&#13;   <TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
CLASS="EXAMPLE"
><TR
><TD
><DIV
CLASS="example"
><A
NAME="AEN184049"
></A
><P
><B
>例 2. <B
CLASS="function"
>split()</B
> 例子</B
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><code><font color="#000000">
<font color="#0000BB">&lt;?php<br /></font><font color="#FF8000">// 分隔符可以是斜线,点,或横线<br /></font><font color="#0000BB">$date </font><font color="#007700">= </font><font color="#DD0000">"04/30/1973"</font><font color="#007700">;<br />list(</font><font color="#0000BB">$month</font><font color="#007700">, </font><font color="#0000BB">$day</font><font color="#007700">, </font><font color="#0000BB">$year</font><font color="#007700">) = </font><font color="#0000BB">split </font><font color="#007700">(</font><font color="#DD0000">'[/.-]'</font><font color="#007700">, </font><font color="#0000BB">$date</font><font color="#007700">);<br />echo </font><font color="#DD0000">"Month: $month; Day: $day; Year: $year&lt;br /&gt;</font><font color="#007700">\n</font><font color="#DD0000">"</font><font color="#007700">;<br /></font><font color="#0000BB">?&gt;</font>
</font>
</code></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
>
  </P
><P
>&#13;   想仿效 Perl 中类似的 <B
CLASS="command"
>@chars =
   split('', $str)</B
> 行为,请参考
   <A
HREF="function.preg-split.html"
><B
CLASS="function"
>preg_split()</B
></A
> 或 <A
HREF="function.str-split.html"
><B
CLASS="function"
>str_split()</B
></A
> 函数中的例子。
  </P
><P
>&#13;   注意 <CODE
CLASS="parameter"
>pattern</CODE
>
   是一个正则表达式。如果想要用的分割字符是正则表达式中的特殊字符,要先将其转义。如果觉得
   <B
CLASS="function"
>split()</B
>(或其它任何 regex 函数)行为古怪的话,请阅读包含在
   PHP 发行包中 <TT
CLASS="filename"
>regex/</TT
> 子目录下的
   <TT
CLASS="filename"
>regex.7</TT
> 文件。该文件是手册页面格式,可以用类似
   <B
CLASS="command"
>man /usr/local/src/regex/regex.7</B
> 的命令来阅读。
  </P
><P
>&#13;   参见 <A
HREF="function.preg-split.html"
><B
CLASS="function"
>preg_split()</B
></A
>,<A
HREF="function.spliti.html"
><B
CLASS="function"
>spliti()</B
></A
>,<A
HREF="function.str-split.html"
><B
CLASS="function"
>str_split()</B
></A
>,<A
HREF="function.explode.html"
><B
CLASS="function"
>explode()</B
></A
>,<A
HREF="function.implode.html"
><B
CLASS="function"
>implode()</B
></A
>,<A
HREF="function.chunk-split.html"
><B
CLASS="function"
>chunk_split()</B
></A
>
   和 <A
HREF="function.wordwrap.html"
><B
CLASS="function"
>wordwrap()</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.eregi.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.spliti.html"
ACCESSKEY="N"
>下一页</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>eregi</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="ref.regex.html"
ACCESSKEY="U"
>上一级</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>spliti</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>