Here's what I need to do: I have an indexed array, from which I need to
delete elements in the middle. Once completed, the indexes should be
numerically in sequence, as they were when I first encountered the
array. That is:

$arr = array(0 => 5, 1 => 6, 2 => 7, 3 => 8, 4 => 9, 5 => 10);

$arr = array(0 => 5, 1 => 6, 2 => 9, 3 => 10);

I've tried:

1) Using for() with unset(). Elements are deleted, but the indexes are
no longer sequential.

2) Using for() with array_splice(). Understandably, deletes certain
elements but not others.

3) Using foreach() with referenced array elements. Neither unset() nor
array_splice() appear to have any effect on the array at all.

4) while() loop using current() and the like. But these array functions
return values, not references, so the array isn't actually modified.

5) array_walk() with unset() array_splice(). No effect on the array.

Anyone know how to do this, or know of a reference on how to?


Paul M. Foster

PHP General Mailing List (
To unsubscribe, visit:

Reply via email to