<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.array.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'es',
  ),
  'this' => 
  array (
    0 => 'function.sort.php',
    1 => 'sort',
    2 => 'Ordena un array en orden creciente',
  ),
  'up' => 
  array (
    0 => 'ref.array.php',
    1 => 'Funciones de Arrays',
  ),
  'prev' => 
  array (
    0 => 'function.sizeof.php',
    1 => 'sizeof',
  ),
  'next' => 
  array (
    0 => 'function.uasort.php',
    1 => 'uasort',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'es',
    'path' => 'reference/array/functions/sort.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.sort" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">sort</h1>
  <p class="verinfo">(PHP 4, PHP 5, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">sort</span> &mdash; <span class="dc-title">Ordena un array en orden creciente</span></p>

 </div>
 <div class="refsect1 description" id="refsect1-function.sort-description">
  <h3 class="title">Descripción</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>sort</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.array.php" class="type array">array</a></span> <code class="parameter reference">&$array</code></span>, <span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$flags</code><span class="initializer"> = <strong><code><a href="array.constants.php#constant.sort-regular">SORT_REGULAR</a></code></strong></span></span>): <span class="type"><a href="language.types.singleton.php" class="type true">true</a></span></div>

  <p class="para rdfs-comment">
   Ordena <code class="parameter">array</code> en su lugar siguiendo los valores
   en orden creciente.
  </p>
  <blockquote class="note"><p><strong class="note">Nota</strong>: 
 <p class="para">
  Si dos miembros se comparan como iguales, mantienen su orden original.
  Anterior a PHP 8.0.0, su orden relativo en el array ordenado no está definido.
 </p>
</p></blockquote>

  <blockquote class="note"><p><strong class="note">Nota</strong>: <span class="simpara">
 Esta función asigna nuevas claves a los elementos en <code class="parameter">array</code>.
 Eliminará todas las claves existentes que hayan podido ser asignadas, en lugar de reordenar las claves.
</span></p></blockquote>
  <blockquote class="note"><p><strong class="note">Nota</strong>: 
 <p class="para">
    Reinicia el puntero interno del array al primer elemento.
 </p>
</p></blockquote>

 </div>


 <div class="refsect1 parameters" id="refsect1-function.sort-parameters">
  <h3 class="title">Parámetros</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">array</code></dt>
     <dd>
      <p class="para">
       El array de entrada.
      </p>
     </dd>
    
    
 <dt><code class="parameter">flags</code></dt>
 <dd>
  <p class="para">
   El segundo parámetro opcional <code class="parameter">flags</code>
   puede ser utilizado para modificar el comportamiento de ordenación utilizando estos valores:
  </p>
  <p class="para">
   Tipo de banderas de ordenación:
   <ul class="itemizedlist">
    <li class="listitem">
     <span class="simpara"><strong><code><a href="array.constants.php#constant.sort-regular">SORT_REGULAR</a></code></strong> - compara los elementos normalmente;
     los detalles son descritos en la sección de los <a href="language.operators.comparison.php" class="link">operadores de comparación</a></span>
    </li>
    <li class="listitem">
     <span class="simpara"><strong><code><a href="array.constants.php#constant.sort-numeric">SORT_NUMERIC</a></code></strong> - compara los elementos numéricamente</span>
    </li>
    <li class="listitem">
     <span class="simpara"><strong><code><a href="array.constants.php#constant.sort-string">SORT_STRING</a></code></strong> - compara los elementos como strings</span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <strong><code><a href="array.constants.php#constant.sort-locale-string">SORT_LOCALE_STRING</a></code></strong> - compara los elementos como
      strings, basado en la configuración regional actual. Esto utiliza la configuración regional,
      que puede ser cambiada utilizando <span class="function"><a href="function.setlocale.php" class="function">setlocale()</a></span>
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <strong><code><a href="array.constants.php#constant.sort-natural">SORT_NATURAL</a></code></strong> - compara los elementos como strings
      utilizando el &quot;orden natural&quot; como <span class="function"><a href="function.natsort.php" class="function">natsort()</a></span>
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <strong><code><a href="array.constants.php#constant.sort-flag-case">SORT_FLAG_CASE</a></code></strong> - puede ser combinado
      (OR a nivel de bits) con
      <strong><code><a href="array.constants.php#constant.sort-string">SORT_STRING</a></code></strong> o
      <strong><code><a href="array.constants.php#constant.sort-natural">SORT_NATURAL</a></code></strong> para ordenar strings sin tener en cuenta la mayúscula/minúscula
     </span>
    </li>
   </ul>
  </p>
 </dd>


   </dl>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.sort-returnvalues">
  <h3 class="title">Valores devueltos</h3>
  <p class="para">
   Retorna siempre <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>.
  </p>
 </div>


 <div class="refsect1 changelog" id="refsect1-function.sort-changelog">
  <h3 class="title">Historial de cambios</h3>
  <p class="para">
   <table class="doctable informaltable">
    
     <thead>
      <tr>
       <th>Versión</th>
       <th>Descripción</th>
      </tr>

     </thead>

     <tbody class="tbody">
      <tr>
 <td>8.2.0</td>
 <td>
  El tipo de retorno es ahora <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>, anteriormente era <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>.
 </td>
</tr>

     </tbody>
    
   </table>

  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-function.sort-examples">
  <h3 class="title">Ejemplos</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Ejemplo #1 Ejemplo con <span class="function"><strong>sort()</strong></span></strong></p>
    <div class="example-contents">
<div class="annotation-interactive phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br />$fruits </span><span style="color: #007700">= array(</span><span style="color: #DD0000">"lemon"</span><span style="color: #007700">, </span><span style="color: #DD0000">"orange"</span><span style="color: #007700">, </span><span style="color: #DD0000">"banana"</span><span style="color: #007700">, </span><span style="color: #DD0000">"apple"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">sort</span><span style="color: #007700">(</span><span style="color: #0000BB">$fruits</span><span style="color: #007700">);<br />foreach (</span><span style="color: #0000BB">$fruits </span><span style="color: #007700">as </span><span style="color: #0000BB">$key </span><span style="color: #007700">=&gt; </span><span style="color: #0000BB">$val</span><span style="color: #007700">) {<br />    echo </span><span style="color: #DD0000">"fruits[" </span><span style="color: #007700">. </span><span style="color: #0000BB">$key </span><span style="color: #007700">. </span><span style="color: #DD0000">"] = " </span><span style="color: #007700">. </span><span style="color: #0000BB">$val </span><span style="color: #007700">. </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <div class="example-contents"><p>El ejemplo anterior mostrará:</p></div>
    <div class="example-contents screen">
<div class="annotation-interactive examplescode"><pre class="examplescode">fruits[0] = apple
fruits[1] = banana
fruits[2] = lemon
fruits[3] = orange</pre>
</div>
    </div>
   </div>
  </p>
  <p class="para">
   Las frutas han sido ordenadas en orden alfabético.
  </p>
  <p class="para">
   <div class="example" id="example-2">
    <p><strong>Ejemplo #2 Ejemplo con <span class="function"><strong>sort()</strong></span> utilizando
     el orden natural sin tener en cuenta la casilla</strong></p>
    <div class="example-contents">
<div class="annotation-interactive phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br />$fruits </span><span style="color: #007700">= array(<br />    </span><span style="color: #DD0000">"Orange1"</span><span style="color: #007700">, </span><span style="color: #DD0000">"orange2"</span><span style="color: #007700">, </span><span style="color: #DD0000">"Orange3"</span><span style="color: #007700">, </span><span style="color: #DD0000">"orange20"<br /></span><span style="color: #007700">);<br /></span><span style="color: #0000BB">sort</span><span style="color: #007700">(</span><span style="color: #0000BB">$fruits</span><span style="color: #007700">, </span><span style="color: #0000BB">SORT_NATURAL </span><span style="color: #007700">| </span><span style="color: #0000BB">SORT_FLAG_CASE</span><span style="color: #007700">);<br />foreach (</span><span style="color: #0000BB">$fruits </span><span style="color: #007700">as </span><span style="color: #0000BB">$key </span><span style="color: #007700">=&gt; </span><span style="color: #0000BB">$val</span><span style="color: #007700">) {<br />    echo </span><span style="color: #DD0000">"fruits[" </span><span style="color: #007700">. </span><span style="color: #0000BB">$key </span><span style="color: #007700">. </span><span style="color: #DD0000">"] = " </span><span style="color: #007700">. </span><span style="color: #0000BB">$val </span><span style="color: #007700">. </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <div class="example-contents"><p>El ejemplo anterior mostrará:</p></div>
    <div class="example-contents screen">
<div class="annotation-interactive examplescode"><pre class="examplescode">fruits[0] = Orange1
fruits[1] = orange2
fruits[2] = Orange3
fruits[3] = orange20</pre>
</div>
    </div>
   </div>
  </p>
  <p class="para">
   Las frutas han sido ordenadas como lo habrían sido con la función
   <span class="function"><a href="function.natcasesort.php" class="function">natcasesort()</a></span>.
  </p>
 </div>


 <div class="refsect1 notes" id="refsect1-function.sort-notes">
  <h3 class="title">Notas</h3>
  <blockquote class="note"><p><strong class="note">Nota</strong>: 
   <span class="simpara">
    Al igual que la mayoría de las funciones de ordenación de PHP, <span class="function"><strong>sort()</strong></span>
    utiliza una implementación de <a href="http://en.wikipedia.org/wiki/Quicksort" class="link external">&raquo;&nbsp;Quicksort</a>.
    El pivote es elegido en el medio de la partición, resultando así en una optimización
    del tiempo para los arrays ya ordenados. Pero esto no es más que un detalle de
    la implementación, sin tener ningún impacto.
   </span>
  </p></blockquote>
  <div class="warning"><strong class="warning">Advertencia</strong>
   <p class="simpara">
    Prestar atención al ordenar arrays con valores de tipos
    diferentes ya que <span class="function"><strong>sort()</strong></span> puede producir resultados
    impredecibles cuando <code class="parameter">flags</code> es
    <strong><code><a href="array.constants.php#constant.sort-regular">SORT_REGULAR</a></code></strong>.
   </p>
  </div>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.sort-seealso">
  <h3 class="title">Ver también</h3>
  <ul class="simplelist">
   <li><span class="function"><a href="function.rsort.php" class="function" rel="rdfs-seeAlso">rsort()</a> - Ordena un array en orden decreciente</span></li>
   <li>Las funciones de <a href="array.sorting.php" class="link">ordenación de arrays</a></li>
  </ul>
 </div>


</div><?php manual_footer($setup); ?>