2016-06-16 8 views
0

Мне нужно удалить значения внутри массива до данной переменной и сохранить в том же ключе, спасибо заранее.Php array delete in reverse

$filter = 8; 

Array 
(
    [1] => 
    [2] => 
    [3] => 
    [4] => 
    [5] => 
    [6] => 
    [7] => 
    [8] => 
    [9] => 
    [10] => 
    [11] => 
    [13] => PHM 
    [14] => PHN 
    [15] => N 
    [17] => M9 
    [18] => 

) 

Мой вывод должен быть,

Array(
    [8] => 
    [9] => 
    [10] => 
    [11] => 
    [13] => PHM 
    [14] => PHN 
    [15] => N 
    [17] => M9 
    [18] => 
) 
+0

посмотрите на 'array_slice()' – Rizier123

+0

пытался, но ключи собираются разные , Массив ([0] => [1] => [2] => [3] => PHM [4] => PHN [5] => N [6] => M9) – Crysis

+0

Как вы использовали эту функцию? – Rizier123

ответ

5

Вы можете использовать array_slice(), чтобы сделать это. Теперь, так как вы не имеете перечисляемого массив 0 на основе, вы должны убедиться, чтобы установить параметр preserve_keys к истинным:

print_r(array_slice($table_list, $filter, NULL, TRUE)); 
1
$arr = array("","","","","","","","","","","","","","PHM","PHN","N","","M9",""); 
$filter = 8; 
For($i=0;$i<$filter;$i++){ 
    If(isset($arr[$i])) unset($arr[$i]); 
} 

Var_dump($arr); 

Я создал массив со всеми индексами, для этого примера, но он будет работать, даже если 0 и 12 отсутствуют из-за Исеть() ,

https://3v4l.org/WKMGO

отредактирован держать ключ 8.