Insertar un valor en una posición de un array

Código PHP

PHP – Array – array_splice

Función que nos permite insertar un nuevo valor en una posición determinada de un array.

El array original no se modifica y la función devuelve un nuevo array con la posición insertada, donde la primera posición es la 0 y ha de ser numérico.

Los indices no tienen porque ser numéricos

/**
 * Class HelperArray
 */
abstract class HelperArray
{

    /**
     * Inserta una valor en una posición determianda de un array.
     * La primera posición es la 0 y ha de ser numérico.
     * Los indices no tienen porque ser numéricos
     *
     * @param array $arr
     * @param int   $pos
     * @param mixed $value
     *
     * @return array
     */
    public static function appendToPos($arr, $pos, $value)
    {
        array_splice($arr, $pos, 0, [$value]);
        return $arr;
    }
}

Ejemplos de la función

$arr     = [10, 12, 14, 16];
$arr_tmp = HelperArray::appendToPos($arr, 1, 'Temporal');
print_r($arr_tmp);      // [10, 'Temporal', 12, 14, 16];

$arr     = [];
$arr_tmp = HelperArray::appendToPos($arr, 1, 'Temporal');
print_r($arr_tmp);      // [10, 'Temporal', 12, 14, 16];

$arr     = ['a' => 11, 'bb' => '22', 'cc' => 33, 'dd' => 44];
$arr_tmp = HelperArray::appendToPos($arr, 2, 'Temporal');
print_r($arr_tmp);
// ['a' => 11, 'bb' => '22', 0 => 'Temporal', 'cc' => 33, 'dd' => 44];
// Lo inserta an la posición 2