BossBey File Manager
PHP:
8.2.30
OS:
Linux
User:
imagivibe
Root
/
home
/
imagivibe
/
www
/
app.imagivibe.com
/
vendor
/
gehrisandro
/
tailwind-merge-php
/
src
/
Support
📤 Upload
📝 New File
📁 New Folder
Close
Editing: Arr.php
<?php namespace TailwindMerge\Support; class Arr { /** * @param array<array-key, mixed> $array * @return array<int, mixed> */ public static function flatten(array $array, int $depth = PHP_INT_MAX): array { $result = []; foreach ($array as $item) { $item = $item instanceof Collection ? $item->all() : $item; if (! is_array($item)) { $result[] = $item; } else { $values = $depth === 1 ? array_values($item) : static::flatten($item, $depth - 1); foreach ($values as $value) { $result[] = $value; } } } return $result; } /** * @template TKey * @template TValue * @template TMapWithKeysKey of array-key * @template TMapWithKeysValue * * @param array<TKey, TValue> $array * @param callable(TValue, TKey): array<TMapWithKeysKey, TMapWithKeysValue> $callback * @return array<TMapWithKeysKey, TMapWithKeysValue> */ public static function mapWithKeys(array $array, callable $callback): array { $result = []; foreach ($array as $key => $value) { $assoc = $callback($value, $key); foreach ($assoc as $mapKey => $mapValue) { $result[$mapKey] = $mapValue; } } return $result; } /** * @template TKey * @template TValue * @template TMapValue * * @param array<TKey, TValue> $array * @param callable(TValue, TKey): TMapValue $callback * @return array<TKey, TMapValue> */ public static function map(array $array, callable $callback): array { $keys = array_keys($array); $items = array_map($callback, $array, $keys); return array_combine($keys, $items); } /** * @template TKey * @template TValue * * @param array<TKey, TValue> $array * @param callable(TValue, TKey): bool $callback * @return ?TValue */ public static function first(array $array, callable $callback): mixed { foreach ($array as $key => $value) { if ($callback($value, $key)) { return $value; } } return null; } }
Save
Cancel