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