1
0
mirror of https://github.com/php/doc-es.git synced 2026-03-24 15:32:36 +01:00
Files
archived-doc-es/reference/array/functions/array-unique.xml
2025-05-06 21:45:14 +02:00

215 lines
5.4 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 651fad6c6677036edd2871bb78199e17586a3acd Maintainer: PhilDaiguille Status: ready -->
<!-- Reviewed: no -->
<!-- CREDITS: DavidA. -->
<refentry xml:id="function.array-unique" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>array_unique</refname>
<refpurpose>Elimina los valores duplicados de un array</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>array_unique</methodname>
<methodparam><type>array</type><parameter>array</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>flags</parameter><initializer><constant>SORT_STRING</constant></initializer></methodparam>
</methodsynopsis>
<para>
<function>array_unique</function> extrae del array
<parameter>array</parameter> los valores distintos,
y elimina todos los duplicados.
</para>
<para>
Tenga en cuenta que las claves se preservan. Si varios elementos comparados
son iguales bajo el <parameter>flags</parameter> dado, entonces la clave
y el valor del primer elemento igual serán conservados.
</para>
<note>
<simpara>
Dos elementos se consideran iguales si y solo si
<literal>(string) $elem1 === (string) $elem2</literal>, es decir,
cuando la representación en string es idéntica.
</simpara>
</note>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>array</parameter></term>
<listitem>
<para>
El array de entrada.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>flags</parameter></term>
<listitem>
<para>
El segundo parámetro opcional <parameter>flags</parameter>
puede ser utilizado para modificar el comportamiento de comparación
utilizando los siguientes valores:
</para>
<para>
Flag de tipo de comparación:
<itemizedlist>
<listitem>
<simpara><constant>SORT_REGULAR</constant> - compara los elementos normalmente
(no modifica los tipos)</simpara>
</listitem>
<listitem>
<simpara><constant>SORT_NUMERIC</constant> - compara los elementos
numéricamente</simpara>
</listitem>
<listitem>
<simpara><constant>SORT_STRING</constant> - compara los elementos como strings</simpara>
</listitem>
<listitem>
<simpara><constant>SORT_LOCALE_STRING</constant> - compara los elementos como
strings, según la configuración local actual.
</simpara>
</listitem>
</itemizedlist>
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Devuelve el array filtrado.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>7.2.0</entry>
<entry>
Si <parameter>flags</parameter> es <constant>SORT_STRING</constant>,
anteriormente <parameter>array</parameter> era copiado y los elementos
no únicos eran eliminados (sin comprimir el array después), pero
ahora se construye un nuevo array añadiendo los elementos únicos.
Como consecuencia, el resultado final puede tener índices numéricos diferentes.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo con <function>array_unique</function></title>
<programlisting role="php">
<![CDATA[
<?php
$input = ["a" => "green", "red", "b" => "green", "blue", "red"];
$result = array_unique($input);
print_r($result);
?>
]]>
</programlisting>
&example.outputs;
<screen role="php">
<![CDATA[
Array
(
[a] => green
[0] => red
[1] => blue
)
]]>
</screen>
</example>
</para>
<para>
<example>
<title>Ejemplo con <function>array_unique</function> y los tipos</title>
<programlisting role="php">
<![CDATA[
<?php
$input = [4, "4", "3", 4, 3, "3"];
$result = array_unique($input);
var_dump($result);
?>
]]>
</programlisting>
&example.outputs;
<screen role="php">
<![CDATA[
array(2) {
[0] => int(4)
[2] => string(1) "3"
}
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<note>
<simpara>
Tenga en cuenta que <function>array_unique</function> no funciona
con arrays multidimensionales.
</simpara>
</note>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>array_count_values</function></member>
</simplelist>
</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:"~/.phpdoc/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
-->