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
