[PHP] Re: Insert new array after specific key in multidimensional array

2012-02-28 Thread Micky Hulse
On Tue, Feb 28, 2012 at 8:36 AM, Shawn McKenzie  wrote:
> Might be an easier way but this should work.  You can sort the $before =
> true out for yourself :-)

Hi Shawn, I've updated your function to do the $before bit:



I also set it up to merge the new array to the end if the key does not exist.

Out of all the examples I have found, your approach looks the cleanest
and the most compact.

I'm open to feedback.

Many thanks

Cheers,
M

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP] Re: Insert new array after specific key in multidimensional array

2012-02-28 Thread Shawn McKenzie
On 02/27/2012 08:12 PM, Micky Hulse wrote:
> Howdy!
> 
> Example code:
> 
> 
> 
> What would be the best way to insert $o_insert array into $o array
> after specified key?
> 
> I hate to just ask for example code, but I can't seem to find the
> perfect solution. :(
> 
> Many thanks in advance for the help!
> 
> Cheers,
> Micky


Might be an easier way but this should work.  You can sort the $before =
true out for yourself :-)

function array_insert(&$array, $key, $insert, $before = FALSE) {
$i = 0;
foreach($array as $k => $v) {
  if($k === $key) {
$p = $i + 1;
break;
  }
  $i++;
}
$array = array_merge(array_slice($array, 0, $p), $insert,
array_slice($array, $p, count($array) - $p));
}

-- 
Thanks!
-Shawn
http://www.spidean.com

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php