32 lines
806 B
Plaintext
32 lines
806 B
Plaintext
:sig
|
|
StringMap array_merge(StringMap a, StringMap b)
|
|
DValue array_merge(DValue a, DValue b)
|
|
|
|
:params
|
|
a : left-hand source map or tree
|
|
b : right-hand source map or tree
|
|
return value : merged result
|
|
|
|
:see
|
|
>types
|
|
0_DValue
|
|
0_StringMap
|
|
json_decode
|
|
|
|
:content
|
|
Merges two maps or trees using PHP-like merge behavior.
|
|
|
|
For `StringMap`, keys from `b` overwrite keys from `a`.
|
|
|
|
For `DValue`, string keys from `b` overwrite keys from `a`. Numeric keys are appended and reindexed when either side behaves like a list.
|
|
|
|
This helper is the closest UCE equivalent to PHP `array_merge()` for common request, config, and JSON-shaped data.
|
|
|
|
:example
|
|
StringMap left;
|
|
left["name"] = "Ada";
|
|
StringMap right;
|
|
right["role"] = "admin";
|
|
StringMap merged = array_merge(left, right);
|
|
print(merged["name"], " ", merged["role"], "\n");
|