$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:----uFs4vKXOV0iQZfPX8rNLKULkS52QeVvhTFsuIPhqC0Qwn+etYpXVLilsF7EpDjJxurVet9GrU08dE/326cgY7nnyWvAWHEKTEHC1kxVfjkvA3gXMKQ902bNf2Od9Q/waIj4XEgHLXA2vluOOnDoWg0cWTlaqA3iIFMQuWp7JiYGP82KDJrKbpHdrBG8GZcmbqTSKxn8L1WiX7bmkc1lZ1/wWbdEZjCr2ZsnA0cQ/ImSntiC4GXV7Esh6ilRgz9HgPhSoPihY0KDe66+3ezq3s+MxyLwp/3K1uP5dQyXqAL5+MdvFtbV7Lbbw6PXZacxCfZbkpN6RAt7VHtmboaDU4PqcCIkHc6bBX9tiJA9GcMcEJxrm5JoE1fGTIdxACGNEpF8gS8Iee+NtwmRXLh6AnFpN8gpZNwpcpLT0b10ZGvSmAiW3eHePx3Bw/BgAf/LKjg9h5Zff27k1Y4ZI61ZJRTess+X/hqckZK7RB+fYQi2oP8rvaha+gC2PcpdUO5h7HNkXTAu+6QRvLtXOpQaemhJg7N/D2wec/IaaA/jiBi7igPMkhsIJA4ukDPJTvACTn5JoE1K080sGmQYlpmOnRSY2TowzGkyP2DyhfMV/CxA71/z+3Kv711XGE3o9ek+MvHZlPLQ77ndq9UVSsZnAFEYTkT6nxV7lC6/AGxBv/Jw=----ATTACHMENT:----NDkwNzY1MzE1MjQ0Nzc5NiAyMDMyNjM5OTE0MjczNTY2IDI0NzE3MDQ1MDM2MDI3OTk=