Concatenação de array com o operador: revelada
Em PHP, o operador pode ser utilizado para combinar dois arrays. No entanto, há casos em que esse método se comporta de forma inesperada, conforme demonstrado pelo trecho de código abaixo:
$array = array('Item 1');
$array = array('Item 2');
var_dump($array);
Este código produz uma saída de:
array(1) { [0]=> string(6) "Item 1" }
Contrário às expectativas, o segundo item não foi adicionado ao array. Para entender esse comportamento, nos aprofundamos nas complexidades das chaves de array.
Ao usar o operador para concatenar arrays, ele atribui uma chave 0 a todos os elementos. Consequentemente, quaisquer elementos existentes com chaves diferentes serão substituídos. Para evitar isso, a abordagem recomendada é empregar a função array_merge():
$arr1 = array('foo');
$arr2 = array('bar');
$combined = array_merge($arr1, $arr2);
Este código mescla corretamente os arrays, resultando em:
array('foo', 'bar');
No entanto, se as chaves nas matrizes forem únicas, o operador pode ser empregado de forma eficaz:
$arr1 = array('one' => 'foo');
$arr2 = array('two' => 'bar');
$combined = $arr1 $arr2;
Este código produz a saída desejada:
array('one' => 'foo', 'two' => 'bar');
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3