Files
2025-08-25 14:06:43 -03:00

144 lines
3.5 KiB
XML

<?xml version="1.0" encoding="utf-8"?><!-- EN-Revision: 16934048f79c6e117cd16a23c09c1b2ea502e284 Maintainer: leonardolara Status: ready --><!-- CREDITS: ae, leonardolara -->
<sect1 xml:id="language.operators.array">
<title>Operadores de Arrays</title>
<titleabbrev>Arrays</titleabbrev>
<table>
<title>Operadores de array</title>
<tgroup cols="3">
<thead>
<row>
<entry>Exemplo</entry>
<entry>Nome</entry>
<entry>Resultado</entry>
</row>
</thead>
<tbody>
<row>
<entry>$a + $b</entry>
<entry>União</entry>
<entry>União de <varname>$a</varname> e <varname>$b</varname>.</entry>
</row>
<row>
<entry>$a == $b</entry>
<entry>Igualdade</entry>
<entry>&true; se <varname>$a</varname> e <varname>$b</varname> têm as mesmas chaves e valores.</entry>
</row>
<row>
<entry>$a === $b</entry>
<entry>Identidade</entry>
<entry>&true; se <varname>$a</varname> e <varname>$b</varname> têm as mesmas chaves e valores, na mesma
ordem e com os mesmos tipos.</entry>
</row>
<row>
<entry>$a != $b</entry>
<entry>Desigualdade</entry>
<entry>&true; se <varname>$a</varname> não é igual <varname>$b</varname>.</entry>
</row>
<row>
<entry>$a &lt;&gt; $b</entry>
<entry>Desigualdade</entry>
<entry>&true; se <varname>$a</varname> não é igual <varname>$b</varname>.</entry>
</row>
<row>
<entry>$a !== $b</entry>
<entry>Não identidade</entry>
<entry>&true; se <varname>$a</varname> não é idêntico a <varname>$b</varname>.</entry>
</row>
</tbody>
</tgroup>
</table>
<para>
O operador <literal>+</literal> retorna o array à direita anexado
ao array da esquerda. Para chaves que existam nos dois arrays os elementos
do array à esquerda serão mantidos, os valores de mesma chave no
array da direita são ignorados.
</para>
<para>
<example>
<title>Operador de união de array</title>
<programlisting role="php">
<![CDATA[
<?php
$a = array("a" => "apple", "b" => "banana");
$b = array("a" => "pear", "b" => "strawberry", "c" => "cherry");
$c = $a + $b; // União de $a e $b
echo "União de \$a e \$b: \n";
var_dump($c);
$c = $b + $a; // União de $b e $a
echo "União de \$b e \$a: \n";
var_dump($c);
$a += $b; // União de $a += $b é $a e $b
echo "União de \$a += \$b: \n";
var_dump($a);
?>
]]>
</programlisting>
&example.outputs;
<screen role="php">
<![CDATA[
União de $a e $b:
array(3) {
["a"]=>
string(5) "apple"
["b"]=>
string(6) "banana"
["c"]=>
string(6) "cherry"
}
União de $b e $a:
array(3) {
["a"]=>
string(4) "pear"
["b"]=>
string(10) "strawberry"
["c"]=>
string(6) "cherry"
}
União de $a += $b:
array(3) {
["a"]=>
string(5) "apple"
["b"]=>
string(6) "banana"
["c"]=>
string(6) "cherry"
}
]]>
</screen>
</example>
</para>
<para>
Elementos do array são iguais para efeitos de comparação se eles possuem o mesmo
valor e chave.
</para>
<para>
<example>
<title>Comparando arrays</title>
<programlisting role="php">
<![CDATA[
<?php
$a = array("maçã", "banana");
$b = array(1 => "banana", "0" => "maçã");
var_dump($a == $b); // bool(true)
var_dump($a === $b); // bool(false)
?>
]]>
</programlisting>
</example>
</para>
<sect2 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><link linkend="language.types.array">Tipo array</link></member>
<member><link linkend="ref.array">Funções em arrays</link></member>
</simplelist>
</para>
</sect2>
</sect1>