<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.23 $ -->
<!-- splitted from ./en/functions/array.xml, last change in rev 1.2 -->
  <refentry id="function.sort">
   <refnamediv>
    <refname>sort</refname>
    <refpurpose>Sort an array</refpurpose>
   </refnamediv>
   <refsect1>
    <title>Description</title>
     <methodsynopsis>
      <type>bool</type><methodname>sort</methodname>
      <methodparam><type>array</type><parameter role="reference">array</parameter></methodparam>
      <methodparam choice="opt"><type>int</type><parameter>sort_flags</parameter></methodparam>
     </methodsynopsis>
    <para>
     This function sorts an array.  Elements will be arranged from
     lowest to highest when this function has completed.
    </para>
    &note.no-key-association;
    <para>
     &return.success;
    </para>
    <para>
     <example>
      <title><function>sort</function> example</title>
      <programlisting role="php">
<![CDATA[
<?php

$fruits = array("lemon", "orange", "banana", "apple");
sort($fruits);
foreach ($fruits as $key => $val) {
    echo "fruits[" . $key . "] = " . $val . "\n";
}

?>
]]>
      </programlisting>
      &example.outputs;
      <screen>
<![CDATA[
fruits[0] = apple
fruits[1] = banana
fruits[2] = lemon
fruits[3] = orange
]]>
      </screen>
     </example>
    </para>
    <para>
     The fruits have been sorted in alphabetical order.
    </para>
    <para>
     The optional second parameter <parameter>sort_flags</parameter>
     may be used to modify the sorting behavior using these values:
    </para>
    <para>
     Sorting type flags:
     <itemizedlist>
      <listitem>
       <simpara><constant>SORT_REGULAR</constant> - compare items normally
       (don't change types)</simpara>
      </listitem>
      <listitem>
       <simpara><constant>SORT_NUMERIC</constant> - compare items numerically</simpara>
      </listitem>
      <listitem>
       <simpara><constant>SORT_STRING</constant> - compare items as strings</simpara>
      </listitem>
      <listitem>
       <simpara><constant>SORT_LOCALE_STRING</constant> - compare items as
        strings, based on the current locale. Added in PHP 4.4.0 and 5.0.2.
        Before PHP 6, it uses the system locale, which can be changed using
        <function>setlocale</function>. Since PHP 6, you must use the
        <function>i18n_loc_set_default</function> function.
       </simpara>
      </listitem>
     </itemizedlist>
    </para>
    <note>
     <para>
      The second parameter was added in PHP 4.
     </para>
    </note>
    <warning>
     <simpara>
      Be careful when sorting arrays with mixed types values because
      <function>sort</function> can produce unpredictable results.
     </simpara>
    </warning>
    <para>
     See also <function>arsort</function>,
     <function>asort</function>, <function>ksort</function>,
     <function>krsort</function>, 
     <function>natsort</function>, <function>natcasesort</function>,
     <function>rsort</function>, <function>usort</function>,
     <function>array_multisort</function>, and
     <function>uksort</function>.
    </para>
   </refsect1>
  </refentry>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->