<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >natsort</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" TITLE="Manual do PHP" HREF="index.html"><LINK REL="UP" TITLE="Arrays" HREF="ref.array.html"><LINK REL="PREVIOUS" TITLE="natcasesort" HREF="function.natcasesort.html"><LINK REL="NEXT" TITLE="next" HREF="function.next.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" >Manual do PHP</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="function.natcasesort.html" ACCESSKEY="P" >Anterior</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="function.next.html" ACCESSKEY="N" >Próxima</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><H1 ><A NAME="function.natsort" ></A >natsort</H1 ><DIV CLASS="refnamediv" ><A NAME="AEN12856" ></A ><P > (PHP 4, PHP 5)</P >natsort -- Ordena um array utilizando o algoritmo da "ordem natural" </DIV ><DIV CLASS="refsect1" ><A NAME="AEN12859" ></A ><H2 >Descrição</H2 >void <B CLASS="methodname" >natsort</B > ( array array )<BR ></BR ><P > Essa função é um implementação do algoritmo que ordena strings alfanuméricas da forma como um ser humano faria. Isso é chamado de "ordenação natural". Um exemplo da diferença entre esse algoritmo e o algoritmo com o qual o computador classifica strings (usado em <A HREF="function.sort.html" ><B CLASS="function" >sort()</B ></A >) pode ser visto abaixo: </P ><P > <TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" CLASS="EXAMPLE" ><TR ><TD ><DIV CLASS="example" ><A NAME="AEN12870" ></A ><P ><B >Exemplo 1. Exemplo de <B CLASS="function" >natsort()</B ></B ></P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><code><font color="#000000"> $array1 = $array2 = array("img12.png", "img10.png", "img2.png", "img1.png"); <br /> <br />sort($array1);<br />echo "Classificação normal\n";<br />print_r($array1);<br /><br />natsort($array2);<br />echo "\nClassificação da \"ordem natural\"\n";<br />print_r($array2);</font> </code></TD ></TR ></TABLE ><P > O código acima geraria a seguinte saída: </P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><PRE CLASS="screen" >Classificação normal Array ( [0] => img1.png [1] => img10.png [2] => img12.png [3] => img2.png ) Classificação da "ordem natural" Array ( [3] => img1.png [2] => img2.png [1] => img10.png [0] => img12.png )</PRE ></TD ></TR ></TABLE ><P > Para mais informações veja: Martin Pool's <A HREF="http://sourcefrog.net/projects/natsort/" TARGET="_top" >Natural Order String Comparison</A > page. </P ></DIV ></TD ></TR ></TABLE > </P ><DIV CLASS="note" ><BLOCKQUOTE CLASS="note" ><P ><B >Nota: </B > Se quiser manter a correlação entre chaves e valores, considere a possibilidade de utilizar <TT CLASS="literal" >uasort($arr, 'strnatcmp')</TT >. </P ></BLOCKQUOTE ></DIV ><P > Veja também <A HREF="function.natcasesort.html" ><B CLASS="function" >natcasesort()</B ></A >, <A HREF="function.strnatcmp.html" ><B CLASS="function" >strnatcmp()</B ></A > e <A HREF="function.strnatcasecmp.html" ><B CLASS="function" >strnatcasecmp()</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.natcasesort.html" ACCESSKEY="P" >Anterior</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >Principal</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="function.next.html" ACCESSKEY="N" >Próxima</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >natcasesort</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="ref.array.html" ACCESSKEY="U" >Acima</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >next</TD ></TR ></TABLE ></DIV ></BODY ></HTML >