1
0
mirror of https://github.com/php/doc-es.git synced 2026-03-26 00:12:06 +01:00
Files
archived-doc-es/reference/array/functions/array-multisort.xml
Leonardo Boshell 5568d05ecd Actualizaciones y correcciones
git-svn-id: https://svn.php.net/repository/phpdoc/es/trunk@165981 c90b9560-bf6c-de11-be94-00142212c4b1
2004-08-10 22:47:32 +00:00

146 lines
5.1 KiB
XML

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.5 $ -->
<!-- EN-Revision: 1.11 Maintainer: lboshell Status: ready -->
<!-- splitted from ./en/functions/array.xml, last change in rev 1.11 -->
<refentry id="function.array-multisort">
<refnamediv>
<refname>array_multisort</refname>
<refpurpose>Ordena m&uacute;ltiples matrices, o matrices
multi-dimensionales</refpurpose>
</refnamediv>
<refsect1>
<title>Descripci&oacute;n</title>
<methodsynopsis>
<type>bool</type><methodname>array_multisort</methodname>
<methodparam><type>array</type><parameter>matriz1</parameter></methodparam>
<methodparam choice="opt"><type>mixed</type><parameter>arg</parameter></methodparam>
<methodparam choice="opt"><type>mixed</type><parameter>...</parameter></methodparam>
<methodparam choice="opt"><type>array</type><parameter>...</parameter></methodparam>
<!-- Parameters don't need to be passed by reference -->
</methodsynopsis>
<para>
<function>array_multisort</function> puede usarse para ordenar
varias matrices al tiempo o una matriz multi-dimensional de
acuerdo a una de sus varias dimensiones. Las llaves asociativas
(tipo cadena) son conservadas, mientras que las llaves
num&eacute;ricas son re-indexadas.
</para>
<para>
Las matrices de entrada son tratadas como columnas de una tabla
que deber&aacute; ser ordenada por filas - de forma similar a la
funcionalidad de una sentencia SQL ORDER BY. La primera matriz es
considerada la primaria para el ordenamiento. Las filas (valores)
en esa matriz que sean comparadas como iguales son ordenadas por
la siguiente matriz de entrada, y as&iacute; sucesivamente.
</para>
<para>
La estructura de argumentos de esta funci&oacute;n es un poco
inusual, pero flexible. El primer argumento de todos debe ser una
matriz. Subsecuentemente, cada argumento puede ser o una matriz o
una bandera de ordenamiento de las siguientes.
</para>
<para>
Banderas de orientaci&oacute;n del ordenamiento:
<itemizedlist>
<listitem>
<simpara><constant>SORT_ASC</constant> - ordenar ascendentemente</simpara>
</listitem>
<listitem>
<simpara><constant>SORT_DESC</constant> - ordenar descendentemente</simpara>
</listitem>
</itemizedlist>
</para>
<para>
Banderas de tipo de ordenamiento
<itemizedlist>
<listitem>
<simpara><constant>SORT_REGULAR</constant> - comparar elementos
normalmente</simpara>
</listitem>
<listitem>
<simpara><constant>SORT_NUMERIC</constant> - comparar elementos
num&eacute;ricamente</simpara>
</listitem>
<listitem>
<simpara><constant>SORT_STRING</constant> - comparar elementos como
cadenas</simpara>
</listitem>
</itemizedlist>
</para>
<para>
No pueden especificarse dos banderas de ordenamiento del mismo
tipo luego de cada matriz. Las banderas de ordenamiento
especificadas a continuaci&oacute;n de un argumento matriz se
aplican s&oacute;lo a esa matriz - estos valores son
restablecidos de vuelta a <constant>SORT_ASC</constant> y
<constant>SORT_REGULAR</constant> antes de cada nuevo argumento
matriz.
</para>
<para>
&return.success;
</para>
<para>
<example>
<title>Ordenamiento de varias matrices</title>
<programlisting role="php">
<![CDATA[
<?php
$matriz1 = array("10", 100, 100, "a");
$matriz2 = array(1, 3, "2", 1);
array_multisort($matriz1, $matriz2);
?>
]]>
</programlisting>
</example>
</para>
<para>
En este ejemplo, despu&eacute;s del ordenamiento, la primera
matriz contendr&aacute; los valores 10, "a", 100, 100. La segunda
matriz contendr&aacute; 1, 1, "2", 3. Las entradas en la segunda
matriz que correspond&iacute;an a las entradas id&eacute;nticas
de la primera matriz (100 y 100) fueron ordenadas tambi&eacute;n.
</para>
<para>
<example>
<title>Ordenamiento de una matriz multi-dimensional</title>
<programlisting role="php">
<![CDATA[
<?php
$matriz = array(array("10", 100, 100, "a"), array(1, 3, "2", 1));
array_multisort($matriz[0], SORT_ASC, SORT_STRING,
$matriz[1], SORT_NUMERIC, SORT_DESC);
?>
]]>
</programlisting>
</example>
</para>
<para>
En este ejemplo, despu&eacute;s del ordenamiento, la primera
matriz contendr&aacute; 10, 100, 100, "a" (fue ordenada como
cadenas en orden ascendente), y la segunda tendr&aacute; 1, 3,
"2", 1 (ordenada como n&uacute;meros, en orden descendiente).
</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
-->