$v) { if (mb_strlen($k)) { if (is_array($v)) { if (array_is_assoc($v)) { // Convert associative arrays to objects $object->{$k} = array_to_object_2025($v); } else { // For indexed arrays, keep them as arrays but process their elements $object->{$k} = []; foreach ($v as $idx => $item) { if (is_array($item)) { $object->{$k}[$idx] = array_to_object_2025($item); } else { $object->{$k}[$idx] = $item; } } } } else { $object->{$k} = $v; } } } return $object; } } if (! function_exists('array_is_assoc')) { /** * Determines whether or not an array is an associative array. * * @param array $array The array to be evaluated. */ function array_is_assoc($array): bool { if (! is_array($array)) { return false; } if ($array === []) { return false; } return array_keys($array) !== range(0, count($array) - 1); } }