public static function removeIndex($array, $indexes) { \UArray::doConvertToArray($indexes); $removed_keys = array(); foreach ($indexes as $index) { if (is_numeric($index)) { $gap = 0; foreach ($removed_keys as $removed_key) { if ($removed_key < $index) { $gap++; } } $key = $index - $gap; if (array_key_exists($key, $array)) { $offset = \UArray::getOffsetIndex($array, $key); array_splice($array, $offset, 1); $removed_keys[] = $index; } } else { unset($array[$index]); } } return $array; }