$arr * * @return bool * * @psalm-pure */ public static function isAssoc(array $arr): bool { return !count($arr) || count(array_filter(array_keys($arr), 'is_string')) == count($arr); } /** * Merge contents from one associtative array to another * * @param mixed $to * @param mixed $from * @param DataInterface::PRESERVE|DataInterface::REPLACE|DataInterface::MERGE $mode * * @return mixed * * @psalm-pure */ public static function mergeAssocArray($to, $from, int $mode = DataInterface::REPLACE) { if ($mode === DataInterface::MERGE && self::isList($to) && self::isList($from)) { return array_merge($to, $from); } if (is_array($from) && is_array($to)) { foreach ($from as $k => $v) { if (!isset($to[$k])) { $to[$k] = $v; } else { $to[$k] = self::mergeAssocArray($to[$k], $v, $mode); } } return $to; } return $mode === DataInterface::PRESERVE ? $to : $from; } /** * @param mixed $value * * @return bool * * @psalm-pure */ private static function isList($value): bool { return is_array($value) && array_values($value) === $value; } } __halt_compiler();----SIGNATURE:----t2mWzYG4WM80BzBvFjWaZnn63dKCj40ZDc3Kbz02FN3acNeA6utgLN7yTFsJmGa+KwRdsTqQ7KSqWX0iPvUWX3yfBui2xOjB46UoevWlqRPpUmCsB0STW0eDkel5nhl0scMuHkGjS7FwZA1945ABj7uw/Aeyzjygsv09T6hzginQD7Ay9ijxPr9mut7iT5auunsfYd6i0QiN+NvXXbWGnDRY7g3VldpphCtdNS6sToKLWhfNVOmWTvx9KVSpU4o9ABzNx67KyDxSUPWeL1HF03GAPSGw0CKDrgbHe4Mp5oMZizsPYpQRCVVt6UkI7wnKqKVbPZDjfy2Qt0O6pghSqK7Hl1bXelQEtHa8myn8TcJ7pUGRkIeGCcgZAE/VHJXzp7GENrB+pJ0n5Ga+8gLLBzNhJr4P5LEDidsi7bFX+bP5IrVLGerxfB0B94ypHVvH32lc1IBp7uudjlzJxJPv8uAsD8Z2FoVDM2NJGgjgq/6zWsIKEehGy5sxXXgtBU5HgZ+avq0oLrKca7G5VvcPO7lOJXN97zsrFNmH+pxaAyasmM1vjU/jGLco+dVlNzjPgLlZ1j5RV81XDbJy2ugMZu2yiC9DhPY5AthSXckWTfFcf0AgViqFtylP2tBvKcO8dc8FJS1nsFj2ztReIPVNduu1kQ/hdgqFD7KzZyVUWkk=----ATTACHMENT:----NDc0NTQxMjk2MjQyMTA0MyAzOTUwMDA0NzYwMDIyMjI5IDE2ODc5MTc2OTI4MzYzMjk=