Re: Deleting elements from the middle of an array

From: Date: Mon, 14 Mar 2011 20:34:33 +0000
Subject: Re: Deleting elements from the middle of an array
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-311837@lists.php.net to get a copy of this message
On 14 March 2011 21:31, Paul M Foster <paulf@quillandmouse.com> wrote: > 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: > > Before: > $arr = array(0 => 5, 1 => 6, 2 => 7, 3 => 8, 4 => 9, 5 => 10); > > After: > $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? > Remove the elements, then use sort(). Regards Peter -- <hype> WWW: plphp.dk / plind.dk LinkedIn: plind BeWelcome/Couchsurfing: Fake51 Twitter: kafe15 </hype>

« previous php.general (#311837) next »