structAppend 与重复

structAppend vs Duplicate

我熟悉

if ( isDefined( 'URL'  ) ) structAppend( request.context, URL );
if ( isDefined( 'Form'  ) ) structAppend( request.context, Form );

FW/1 是如何构建的rc. 我最近得到了一些执行此操作的代码

_inputs = duplicate(url);
structAppend(_inputs, form);

duplicate() 在这里做什么?这与 structAppend() 有何不同?

我想知道最初的开发者在使用 StructCopy() 方法时是否遇到过问题并将其带到他们的 StructAppend() 方法的代码中?我知道 StructCopy() 方法将通过引用 复制嵌套结构 这可能会咬你。这是我使用 Duplicate() 方法(制作结构的全新副本)时的示例。

我不认为 StructAppend() 是那样工作的。或许他们是在过于谨慎的情况下编写了该代码。显然,这只是一个猜测。

The StructCopy() method is documented to copy by reference.

Copies a structure. Copies top-level keys, values, and arrays in the structure by value; copies nested structures by reference.

Where as the StructAppend() method makes no mention of it.