Alex Pliutau
Alex Pliutau

Reputation: 21957

PHP extract part from array keeping previous keys

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.

Upvotes: 19

Views: 20712

Answers (2)

phihag
phihag

Reputation: 287885

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

Upvotes: 14

deceze
deceze

Reputation: 522145

Try array_slice with $preserve_keys set to true.

Upvotes: 35

Related Questions