Añadir un nuevo valor al inicio de un array

Código PHP

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:

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