19

I have the array with specific keys. I want to get the first 5 array elements. I use array_splice(). All OK, but keys in the new array is 0, 1, 2, 3 ,4. And I want to keep the previous array keys. I can do it with foreach, but i am finding the elegant method.
My code:

$levels = array('a' => 1, 'b' =>2, 'c' => 3, 'd' => 4, 'f' => 5, 'g' => 6);
$levels = array_splice($levels, 5);

Thank you in advance. Sorry for my english.

2 Answers 2

35

Try array_slice with $preserve_keys set to true.

Sign up to request clarification or add additional context in comments.

Comments

14

With array_slice, the original array is not modified:

$levels = array('a' => 1, 'b' =>2, 'c' => 3, 'd' => 4, 'f' => 5, 'g' => 6);
$firstLevels = array_slice($levels, 0, 5, true);
// count($levels) is 6, count($firstLevels) 5

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.