$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:----BtGRXCW4IXxGjmJvZhB8E96bvFCWmwbUJyxgM5oVF8HLjXaRVJMBBb3JGYgJO7ZGcCi7kKOyOxYHJ/xfsQ8fdvmHTYp8wW/pUURS24UKSWYqk+vzThyGTSIqZJdI6MCLP9ZNjbru8TGFx//IfNPZrzvW6dQo29crRw+z/SLWUgN0CyLF0TkG4OfPHX5ryRRMCTsGCxNk51E8p2QB0Rm/Cf1OOwrdeOPd82TwwvmbAXMxHKE6VX6QWs9Y+OmScSS+P34VqPMwXUQxve7m0U/KTW6o11zga5GhcUUzpoVP/9b0cuSP5TLQzlJ4/6XXkIKpuG6zuidS7zqV0GJBJiPriEu1yUQ13sYWWszZLvEvYkRpxJfTvMNir0w54BI93+5Hw8IkOP8hxeE53oZV/sC62/f2h9zcK+mzKjGxgEVRk/bee/bhjhrLWahaPCmrOaZeRf+8e7C2k9D0HprZzMEH5fn+aCPEiyoneotXym3FCuQ8JXqZJel42qzWzZDD9SES3ZQN+px0DBtTxezdUy4KDEBL0eT31zRZ1qUmixwSuQI9hopgEfLwJxC5hPSdyTN1cA2CC/EPkGDIEba8EYMpAQtXatuUgdi4O9OdTL9t8f2AevGDMwYEMY8PQhBqsWW/bqjYJVMzf/33A0Cijb9Lxl57muzMvh2JbOKVSVZczhE=----ATTACHMENT:----MTA3MDUwMjcwNzU5OTE1NSA4MzE0MzA4MTY4MjAyNDY3IDk5OTQwMjYwNzc1OTIzMzI=