Reputation: 64834
I have an array
Array
(
[0] => 0
[1] => 1
[2] => 2
[3] => 3
[4] => 4
[5] => 5
)
How can I remove the latest 2 cells and make it shorter ?
Array
(
[0] => 0
[1] => 1
[2] => 2
)
Thanks
Upvotes: 21
Views: 27563
Reputation: 165201
Check out array_slice()
So, if you wanted the first three elements only:
$array = array_slice($array, 0, 3);
If you wanted all but the last three elements:
$array = array_slice($array, 0, -3);
The second parameter is the start point (0
means to start from the begining of the array).
The third parameter is the length of the resulting array. From the documentation:
If
length
is given and is positive, then the sequence will have that many elements in it. Iflength
is given and is negative then the sequence will stop that many elements from the end of the array. If it is omitted, then the sequence will have everything fromoffset
up until the end of thearray
.
Upvotes: 46
Reputation: 1028
http://dev.fyicenter.com/faq/php/php_array_function_6.php
Look at the one about truncating, particularly array_splice
Upvotes: 1
Reputation: 455122
Use array_splice as:
$array = array(0,1,2,3,4,5);
array_splice($array,0,3);
Upvotes: 1
Reputation: 625097
Use array_splice()
:
$new = array_splice($old, 0, 3);
The above line returns the first three elements of $old
.
Important: array_splice()
modifies the original array.
Upvotes: 4
Reputation: 723729
Slice it. With a knife.
Actually, with this:
array_slice($array, 0, -3);
Assuming you meant cutting off the last 3 elements.
Upvotes: 8