PHP – Arrays – unshift
Esta función añade un nuevo valor en la primera posición de un array.
El array original no se modifica y se devuelve un nuevo array con valor insertado al inicio de todo, en la posición 0.
Si el array esta vacío, este se crea y se devuelve con un único valor.
De esta manera nos evitamos el mensaje de warning indicando que el parámetro no es del tipo array.
/** * Class HelperArray */ abstract class HelperArray { /** * Añade una clabve/valor al inicio del array. * Devuelve un nuevo array con el valor insertado, * no modifica el original. * * @param array $arr * @param mixed $value * * @return array */ public static function appendFirst( $arr, $value ) { // Nos aseguramos de que sea un array $arr = HelperConvert::toArray( $arr ); // Añadimos en la primnera posición array_unshift( $arr, $value ); return $arr; } }
Funciones relacionadas:
- HelperConvert::toArray : Convertir cualquier valor a un array
Varios ejemplos de la función:
$tmp = null; $tmp2 = HelperArray::appendFirst($tmp, "string"); // ['string'] $tmp = ['primero', 'segundo']; // $tmp[0] = 'primero' // $tmp[1] = 'segundo' $tmp2 = HelperArray::appendFirst($tmp, "insertado"); // ['insertado', 'primero', 'segundo']; // $tmp2[0] = 'insertado' // $tmp2[1] = 'primero' // $tmp2[2] = 'segundo' $tmp2 = HelperArray::appendFirst($tmp2, ["doble" => 22]); // [ ['doble' => 22], insertado', 'primero', 'segundo']; (4 valores) // $tmp2[0]['doble'] = 22 // $tmp2[1] = 'insertado' // $tmp2[2] = 'primero' // $tmp2[3] = 'segundo' var_dump($tmp2);