Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if (!function_exists('to_array')) {
- function to_array($value)
- {
- if (is_object($value)) {
- $value = get_object_vars($value);
- }
- return is_array($value) ? array_map(__FUNCTION__, $value) : $value;
- }
- }
- if (!function_exists('array_keys_exist')) {
- /**
- * Аналог array_key_exists, но может искать несколько массив ключей
- *
- * @param mixed $keys
- * @param array $array
- * @return bool
- */
- function array_keys_exists($keys, array $array)
- {
- return ! array_diff_key(array_flip((array) $keys), $array);
- }
- }
- if (!function_exists('array_change_key')) {
- /**
- * Заменяет ключ массива на новый
- *
- * @param mixed $keys
- * @param array $array
- * @return bool
- */
- function array_change_key(array $array, $oldKey, $newKey)
- {
- if (! array_key_exists($oldKey, $array)) {
- return $array;
- }
- $keys = array_keys($array);
- $keys[ array_search($oldKey, $keys) ] = $newKey;
- return array_combine($keys, $array);
- }
- }
- if (!function_exists('array_change_keys')) {
- /**
- * Заменяет ключи массива на новые
- *
- * @param array $array [description]
- * @param [type] $keys [description]
- * @return [type] [description]
- */
- function array_change_keys(array &$array, $keyMap)
- {
- $keyMap = (array) $keyMap;
- array_recursive($array, function($item, $oldKey, &$array) use ($keyMap) {
- if (in_array($oldKey, array_keys($keyMap), true)
- ) {
- $array[$keyMap[$oldKey]] = $array[$oldKey];
- unset($array[$oldKey]);
- }
- });
- }
- }
- if (!function_exists('array_is_assoc')) {
- /**
- * Проверяет является ли массив ассоциативным
- *
- * @param array $array
- * @return bool
- */
- function array_is_assoc(array $array)
- {
- if (array() === $array) {
- return false;
- }
- return array_keys($array) !== range(0, count($array) - 1);
- }
- }
- if (!function_exists('array_is_indexed')) {
- /**
- * Проверяет является ли массив индексированным
- *
- * @param array $array
- * @return bool
- */
- function array_is_indexed(array $array)
- {
- return ! array_is_assoc($array);
- }
- }
- if (! function_exists('array_recursive')) {
- function array_recursive(array &$array, callable $callback)
- {
- foreach (array_keys($array) as $key) {
- if (is_array($array[$key])) {
- array_recursive($array[$key], $callback);
- }
- call_user_func_array($callback, [ $array[$key], $key, &$array ]);
- }
- }
- }
- if (!function_exists('array_wrap_key')) {
- function array_wrap_key(array &$array, $keys)
- {
- $keys = (array) $keys;
- array_recursive($array,
- function($item, $key, &$array) use ($keys) {
- if (in_array($key, $keys, true) && ! array_is_indexed($array[$key])) {
- $array[$key] = [ $array[$key] ];
- }
- }
- );
- }
- }
- if (!function_exists('array_wrap_assoc')) {
- function array_wrap_assoc(array &$array)
- {
- if (array_is_assoc($array)) {
- $array = [ $array ];
- }
- }
- }
Add Comment
Please, Sign In to add comment