Skip to content

Instantly share code, notes, and snippets.

@riskiii
Forked from scribu/array_insert.php
Created April 12, 2012 14:53
Show Gist options
  • Save riskiii/2367891 to your computer and use it in GitHub Desktop.
Save riskiii/2367891 to your computer and use it in GitHub Desktop.
array_insert()
<?php
/**
* Insert an array into another array before/after a certain key
*
* @param array $array The initial array
* @param array $pairs The array to insert
* @param string $key The certain key
* @param string $position Wether to insert the array before or after the key
* @return array
*/
function array_insert( $array, $pairs, $key, $position = 'after' ) {
$key_pos = array_search( $key, array_keys( $array ) );
if ( 'after' == $position )
$key_pos++;
if ( false !== $key_pos ) {
$result = array_slice( $array, 0, $key_pos );
$result = array_merge( $result, $pairs );
$result = array_merge( $result, array_slice( $array, $key_pos ) );
}
else {
$result = array_merge( $array, $pairs );
}
return $result;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment