<?php/** * Array manipulation functions */class ArrayF { /** * Insert an element after another element * @param array Array to insert into * @param mixed element (value) to insert after * @param mixed element to insert * @param mixed key to insert element with * @result array modified array */ public static function insertAfter(&$array, $after, $value, $key = null) { $keys = array_keys($array); $afterKey = array_search($after, $array, true); $old = $array; ArrayF::clear($array); foreach ($keys as $oldKey) { $array[$oldKey] = $old[$oldKey]; if ($oldKey === $afterKey) { if ($key === null) { $array[] = $value; } else { $array[$key] = $value; } } } return $array; } /** * deletes all the elements * @param array array to delete from * @result array the same array, empty */ public static function clear(&$array) { foreach ($array as $key => $value) { unset($array[$key]); } return $array; }}