2015-07-09 3 views
4

У меня есть массив, содержащий 20 ключей.Как сместить несколько элементов с начала массива

$arr = array(
       "1" = "one", 
       "2" = "two", 
       . 
       . 
       . 
       "20" = "twenty" 
      ); 

Теперь я хочу, чтобы игнорировать десять ключ первой, и я хочу этот вывод:

print_r($output); 

// eleven, twelve, ..., twenty 

здесь является одним решением. используя array_shift($arr), но это решение не оптимизировано, потому что я должен использовать 10 раз для этой функции. что-то вроде этого:

$arr = array_shift($arr); // ignoring first key 
$arr = array_shift($arr); // ignoring second key 
. 
. 
. 
$arr = array_shift($arr); // ignoring tenth key 

есть ли лучшее решение?

ответ

4

Попробуйте это:

$array = array_slice($array, 10); 

для получения дополнительной информации, смотрите here.

+0

это замечательно, но почему я не могу найти ваш синтаксис на http://php.net/? –

+1

здесь вы идете сэр: http://php.net/manual/en/function.array-slice.php –

0

Я думаю, вы можете искать array_splice, который непосредственно изменяет массив (то же, что и array_shift), вместо того, чтобы возвращать новый массив.

$n = 2; // number of elements to shift 
array_splice($array, 0, $n); 
Смежные вопросы