$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:----ukrqkmUPDxm2GhbplL3QLu8D9XNxF36Luz0tLX3S7sr5wL+KnShaQOsYgbdY5/RDtjQ9ygi4xRaSLgbEB6h1Keh1t3zBKJZG5mN6eYGM/tPOObJf7o4uKAAdFu1Vfvn8hUgiXSTTOlDPTrxVYCYGMyR3/dvqJOSIvSuzMP8LaqXUrpNjM18F5bosVdL6OjrbNsd0qh7QQ/58UMvN3CIqaOEORdp2pljPz7CpqR7QTDSxzkdPfY98tHRed8qxsC7OHPWKwvkoQeaPVxv/Alw00Y28sWXRuboLpMBTM28cQHQji1BS5Ye9dCrVLTUnRdP9niUuOLjOGPQawrFPgZjRmpnlRAmYjEH80/ECTip06bdq4YRpjvRn+ZihfYYmiHE8LzJsb4ZpxEvZvbV0yVpDn8TMtcBLmuhsu0Ssn3XvZA0XtwAoW1Kjn3NN6WR+QGElheDJnCnclq6tGEevhTlNT/5mnyGEoB07uVdem0AE3Nfx0kX1bw1DxE8frpkWdapA17HsTQaNbNRDXe+uDWtAv9axtvMuByCUCVHz+XPVFtBMGoYy+SXTsxhKLETt68G2w8rTKs5q65fzKv0yW6QyipEfhGDfZ8daq+t608l4Vjf0ov2BHyfIFio7NFdOq5xAC6LrWHTziPdrZBcusDyFIEgZl2Za8Q1fQ5rQQqFW6HA=----ATTACHMENT:----OTM2MzUxNDYzNTEwMzI3OSA3MDY2ODY0ODQ5MjQ0NDE5IDEyMzgyNjgzODc5MjUwOTY=