<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >dbx_compare</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" TITLE="PHP 手册" HREF="index.html"><LINK REL="UP" TITLE="dbx Functions" HREF="ref.dbx.html"><LINK REL="PREVIOUS" TITLE="dbx_close" HREF="function.dbx-close.html"><LINK REL="NEXT" TITLE="dbx_connect" HREF="function.dbx-connect.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.dbx-close.html" ACCESSKEY="P" >上一页</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="function.dbx-connect.html" ACCESSKEY="N" >下一页</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><H1 ><A NAME="function.dbx-compare" ></A >dbx_compare</H1 ><DIV CLASS="refnamediv" ><A NAME="AEN35167" ></A ><P > (PHP 4 >= 4.1.0, PHP 5 <= 5.0.4)</P >dbx_compare -- Compare two rows for sorting purposes</DIV ><DIV CLASS="refsect1" ><A NAME="AEN35170" ></A ><H2 >说明</H2 >int <B CLASS="methodname" >dbx_compare</B > ( array row_a, array row_b, string column_key [, int flags] )<BR ></BR ><P > <B CLASS="function" >dbx_compare()</B > is a helper function for <A HREF="function.dbx-sort.html" ><B CLASS="function" >dbx_sort()</B ></A > to ease the make and use of the custom sorting function. </P ></DIV ><DIV CLASS="refsect1" ><A NAME="AEN35190" ></A ><H2 >参数</H2 ><P > <P ></P ><DIV CLASS="variablelist" ><DL ><DT ><CODE CLASS="parameter" >row_a</CODE ></DT ><DD ><P > First row </P ></DD ><DT ><CODE CLASS="parameter" >row_b</CODE ></DT ><DD ><P > Second row </P ></DD ><DT ><CODE CLASS="parameter" >column_key</CODE ></DT ><DD ><P > The compared column </P ></DD ><DT ><CODE CLASS="parameter" >flags</CODE ></DT ><DD ><P > The <CODE CLASS="parameter" >flags</CODE > can be set to specify comparison direction: <P ></P ><UL ><LI ><P > <TT CLASS="constant" ><B >DBX_CMP_ASC</B ></TT > - ascending order </P ></LI ><LI ><P > <TT CLASS="constant" ><B >DBX_CMP_DESC</B ></TT > - descending order </P ></LI ></UL > and the preferred comparison type: <P ></P ><UL ><LI ><P > <TT CLASS="constant" ><B >DBX_CMP_NATIVE</B ></TT > - no type conversion </P ></LI ><LI ><P > <TT CLASS="constant" ><B >DBX_CMP_TEXT</B ></TT > - compare items as strings </P ></LI ><LI ><P > <TT CLASS="constant" ><B >DBX_CMP_NUMBER</B ></TT > - compare items numerically </P ></LI ></UL > One of the direction and one of the type constant can be combined with bitwise OR operator (|). The default value for the <CODE CLASS="parameter" >flags</CODE > parameter is <TT CLASS="constant" ><B >DBX_CMP_ASC</B ></TT > | <TT CLASS="constant" ><B >DBX_CMP_NATIVE</B ></TT >. </P ></DD ></DL ></DIV > </P ></DIV ><DIV CLASS="refsect1" ><A NAME="AEN35235" ></A ><H2 >返回值</H2 ><P > Returns <TT CLASS="literal" >0</TT > if the <TT CLASS="literal" >row_a[$column_key]</TT > is equal to <TT CLASS="literal" >row_b[$column_key]</TT >, and <TT CLASS="literal" >1</TT > or <TT CLASS="literal" >-1</TT > if the former is greater or is smaller than the latter one, respectively, or vice versa if the <CODE CLASS="parameter" >flag</CODE > is set to <TT CLASS="constant" ><B >DBX_CMP_DESC</B ></TT >. </P ></DIV ><DIV CLASS="refsect1" ><A NAME="AEN35245" ></A ><H2 >范例</H2 ><P > <TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" CLASS="EXAMPLE" ><TR ><TD ><DIV CLASS="example" ><A NAME="AEN35248" ></A ><P ><B >例 1. <B CLASS="function" >dbx_compare()</B > example</B ></P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><code><font color="#000000"> <font color="#0000BB"><?php<br /></font><font color="#007700">function </font><font color="#0000BB">user_re_order</font><font color="#007700">(</font><font color="#0000BB">$a</font><font color="#007700">, </font><font color="#0000BB">$b</font><font color="#007700">) <br />{<br /> </font><font color="#0000BB">$rv </font><font color="#007700">= </font><font color="#0000BB">dbx_compare</font><font color="#007700">(</font><font color="#0000BB">$a</font><font color="#007700">, </font><font color="#0000BB">$b</font><font color="#007700">, </font><font color="#DD0000">"parentid"</font><font color="#007700">, </font><font color="#0000BB">DBX_CMP_DESC</font><font color="#007700">);<br /> if (!</font><font color="#0000BB">$rv</font><font color="#007700">) {<br /> </font><font color="#0000BB">$rv </font><font color="#007700">= </font><font color="#0000BB">dbx_compare</font><font color="#007700">(</font><font color="#0000BB">$a</font><font color="#007700">, </font><font color="#0000BB">$b</font><font color="#007700">, </font><font color="#DD0000">"id"</font><font color="#007700">, </font><font color="#0000BB">DBX_CMP_NUMBER</font><font color="#007700">);<br /> }<br /> return </font><font color="#0000BB">$rv</font><font color="#007700">;<br />}<br /><br /></font><font color="#0000BB">$link </font><font color="#007700">= </font><font color="#0000BB">dbx_connect</font><font color="#007700">(</font><font color="#0000BB">DBX_ODBC</font><font color="#007700">, </font><font color="#DD0000">""</font><font color="#007700">, </font><font color="#DD0000">"db"</font><font color="#007700">, </font><font color="#DD0000">"username"</font><font color="#007700">, </font><font color="#DD0000">"password"</font><font color="#007700">)<br /> or die(</font><font color="#DD0000">"Could not connect"</font><font color="#007700">);<br /><br /></font><font color="#0000BB">$result </font><font color="#007700">= </font><font color="#0000BB">dbx_query</font><font color="#007700">(</font><font color="#0000BB">$link</font><font color="#007700">, </font><font color="#DD0000">"SELECT id, parentid, description FROM table ORDER BY id"</font><font color="#007700">);<br /> </font><font color="#FF8000">// data in $result is now ordered by id<br /><br /></font><font color="#0000BB">dbx_sort</font><font color="#007700">(</font><font color="#0000BB">$result</font><font color="#007700">, </font><font color="#DD0000">"user_re_order"</font><font color="#007700">);<br /> </font><font color="#FF8000">// date in $result is now ordered by parentid (descending), then by id<br /><br /></font><font color="#0000BB">dbx_close</font><font color="#007700">(</font><font color="#0000BB">$link</font><font color="#007700">);<br /></font><font color="#0000BB">?></font> </font> </code></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE > </P ></DIV ><DIV CLASS="refsect1" ><A NAME="AEN35252" ></A ><H2 >参见</H2 ><P > <P ></P ><TABLE BORDER="0" ><TBODY ><TR ><TD ><A HREF="function.dbx-sort.html" ><B CLASS="function" >dbx_sort()</B ></A ></TD ></TR ></TBODY ></TABLE ><P ></P > </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.dbx-close.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.dbx-connect.html" ACCESSKEY="N" >下一页</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >dbx_close</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="ref.dbx.html" ACCESSKEY="U" >上一级</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >dbx_connect</TD ></TR ></TABLE ></DIV ></BODY ></HTML >