src/Utils/ArrayTools.php
public static function insertAt($array, $index, $value)
  {
    if (count($array) < $index) {
      throw new \Exception('Index non valide : ce tableau a '. count($array) .' élément(s)');
      return $array;
    }
    $length = count($array);
    $endPart = array_slice($array, $index, $length - $index + 1);
    $startPart = array_slice($array, 0, $index);
    if (!is_array($value)) {
      $value = array($value);
    }
    return array_merge($startPart, $value, $endPart);
  }
public static function insertAt($array, $index, $value)
  {
    if (count($array) < $index) {
      throw new \Exception('Index non valide : ce tableau a '. count($array) .' élément(s)');
      return $array;
    }
    $length = count($array);
    $endPart = array_slice($array, $index, $length - $index + 1);
    $startPart = array_slice($array, 0, $index);
    if (!is_array($value)) {
      $value = array($value);
    }
    return array_merge($startPart, $value, $endPart);
  }
Insère un élément dans le tableau à une position spécifiée

@param  array $array  Tableau source
@param  int   $index  Index
@param  mixed $value  Valeur à ajouter
@return array
@throws \Exception