Created
October 8, 2015 16:17
-
-
Save superbiche/3de636105439d109b8c9 to your computer and use it in GitHub Desktop.
Insert a value before/after a specific key in an associative array.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
* Inserts a new key/value before the key in the array. | |
* | |
* @param $key | |
* The key to insert before. | |
* @param $array | |
* An array to insert in to. | |
* @param $new_key | |
* The key to insert. | |
* @param $new_value | |
* An value to insert. | |
* | |
* @return | |
* The new array if the key exists, FALSE otherwise. | |
* | |
* @see array_insert_after() | |
*/ | |
function array_insert_before($key, array &$array, $new_key, $new_value) { | |
if (array_key_exists($key, $array)) { | |
$new = []; | |
foreach ($array as $k => $value) { | |
if ($k === $key) { | |
$new[$new_key] = $new_value; | |
} | |
$new[$k] = $value; | |
} | |
return $new; | |
} | |
return FALSE; | |
} | |
/* | |
* Inserts a new key/value after the key in the array. | |
* | |
* @param $key | |
* The key to insert after. | |
* @param $array | |
* An array to insert in to. | |
* @param $new_key | |
* The key to insert. | |
* @param $new_value | |
* An value to insert. | |
* | |
* @return | |
* The new array if the key exists, FALSE otherwise. | |
* | |
* @see array_insert_before() | |
*/ | |
function array_insert_after($key, array &$array, $new_key, $new_value) { | |
if (array_key_exists($key, $array)) { | |
$new = []; | |
foreach ($array as $k => $value) { | |
$new[$k] = $value; | |
if ($k === $key) { | |
$new[$new_key] = $new_value; | |
} | |
} | |
return $new; | |
} | |
return FALSE; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment