全站通知:
帮助:解析函数/arraymerge
刷
历
编
< 帮助:解析函数
跳到导航
跳到搜索
Arraymerge是一个解析函数。帮助:解析函数页列出了所有解析函数的说明。
arraymerge
合并数组。出自扩展 Arrays BWIKI和各大Wiki平台广泛使用此扩展。<br>在遥远的未来,它可能与Mediawiki新的并行解析器不兼容,请参阅扩展主页了解更多信息。。
语法
{{#arraymerge: 新数组名 | 数组1 | 数组2 | ... | 数组n }}
- 新数组名:存放合并结果的目标数组名称
- 数组1..n:要合并的已定义数组,至少两个
将多个数组按顺序合并为一个新数组,合并时:
- 元素会按数组顺序依次追加;
- 不会去重;
- 数字键会按 PHP 规则重新编号,字符串键保留原名(后者会覆盖前者同名键)。
示例
先定义数组abc:
- a:
{{#arraydefine:a|orange}}
值为 orange - b:
{{#arraydefine:b|red, red}}
值为 red、red - c:
{{#arraydefine:c|blue, blue}}
值为 blue、blue
则:
{{#arraymerge: x | a | b }}
→ x = orange、red、red{{#arraymerge: x | a | c }}
→ x = orange、blue、blue{{#arraymerge: x | a | b | c }}
→ x = orange、red、red、blue、blue
底层代码
代码逻辑简述
- 其中的
multiArrayOperation
,会从第一个数组(array_1)开始,对其他所有数组逐一执行multi_arraymerge( array_1, array_i )
。也就是,将第一个数组与其他数组逐一合并; - 合并数组的核心函数是 PHP 的array_merge 函数。
实际用例
- 一些Wiki使用了相关特性,如下所示这个静态列表可能在下列页面更改后过时,仅供批判性参考。