Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ListAppend()不工作?_List_Function_Coldfusion_Append - Fatal编程技术网

ListAppend()不工作?

ListAppend()不工作?,list,function,coldfusion,append,List,Function,Coldfusion,Append,我的cfml代码有问题。ListAppend()函数似乎不起作用 以下是my.cfm页面中的代码: <cfset fruitList="apple, orange, banana"> <cfoutput> fruitList before: #fruitList#<br> </cfoutput> <cfset temp = ListAppend(fruitList, "kiwi")> <cfoutput>

我的cfml代码有问题。
ListAppend()
函数似乎不起作用

以下是my.cfm页面中的代码:

<cfset fruitList="apple, orange, banana">

<cfoutput>
    fruitList before: #fruitList#<br>
</cfoutput>

<cfset temp = ListAppend(fruitList, "kiwi")>
<cfoutput>
    fruitList after: #fruitList#<br>
</cfoutput>

之前的结果列表:#结果列表#
结果列表后:#结果列表#
但我总是得到这样的输出:

之前的水果清单:苹果、橘子、香蕉

苹果、橘子、香蕉之后的水果列表

这同样适用于
ListPrepend()
ListInsertAt()
。为什么会发生这种情况

非常感谢您的帮助。

listAppend()返回新列表(列表只是字符串,ColdFusion通过值传递),因此为了让您看到附加值,您需要使用:

<cfset fruitlist = ListAppend(fruitList, "kiwi") />

试试看


之前的结果列表:#结果列表#
结果列表后:#结果列表#
Accord to cfquickdocs listAppend返回带有附加值的列表。


我希望这能有所帮助。

事实上,在您的示例中,您添加到列表中很好。然而,您正在创建一个新的列表“temp”,并将水果列表的内容复制到其中,然后添加猕猴桃

<cfset temp = ListAppend(fruitList, "kiwi")>

如果要转储临时列表,您将看到希望看到的列表

<cfdump var="#temp#">


您需要使用
当您遇到有关函数行为的问题时,最好先使用。因为它会立刻回答你的问题;):
ListAppend
-“返回列表的副本,并附加[新]值”Yep,不同于表兄妹
ArrayAppend()
StructAppend()
ListAppend()
不会通过引用改变第一个参数。Mohsin为自己辩护时,这个问题出现在Google上,帮助我记住我需要将返回值分配回列表,而正如@Mike Causer提到的,是ArrayAppend()和StructAppend()。从很久以前开始,这是一个一致性的疏忽,我经常忘记。我没有注意到这一点。非常感谢你。
<cfdump var="#temp#">