martes, 28 de octubre de 2014

Añadir elementos a un array en PHP

Con PHP tenemos varias formas de añadir elementos a un array. El primero de ellos es la función nativa array_push().

La sintaxis y los parámetros que debemos utilizar son los siguientes:

int array_push ( array &$array , mixed $value1 [, mixed $... ] );

Lo que hacemos es pasarle un array por referencia como primer parámetro y a continuación los elementos a añadir. La función nos devolverá un valor entero con el número de elementos del array después de haber insertado lo que hayamos definido.

Un ejemplo lo podemos ver aquí:

<?php
$myarray = array('pera', 'manzana', 'naranja');
array_push($myarray, 'melón', 'sandía');
?>

Esto devolvería lo siguiente:

Array
(
    [0] => pera
    [1] => manzana
    [2] => naranja
    [3] => melón
    [4] => sandía
)

Otra forma mucho más sencilla para añadir un elemento al array sería:

<?php
$myarray[] = 'melón';
?>

Según la documentación oficial de PHP, deberíamos utilizar esta segunda forma si queremos únicamente añadir un elemento, ya que así evitamos la sobrecarga de llamar a una función. Además, esta segunda forma crea el array si no existe, mientras que con la función array_push() nos devolvería un warning.

Una comparativa sobre la velocidad de ejecución la podemos ver con una simple prueba que detallamos:

<?php
$myarray = array();
for ($i=0; $i<100000; $i++){
    array_push($myarray, $i);
} // tarda 1.5962453267801 segundos

$myarray = array();
for ($i=0; $i<100000; $i++){
    $myarray[] = $i;
} // tarda 0.0614528790371 segundos
?>

En este caso la mejora de rendimiento es del orden de 26 veces.

No hay comentarios:

Publicar un comentario