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);
