gpt4 book ai didi

coldfusion - 为什么 CFML 一直尝试分配而不是输出我的变量?

转载 作者:行者123 更新时间:2023-12-03 09:56:37 24 4
gpt4 key购买 nike

我正在尝试转换数据库列名列表并在查询中检查它。例如,这个列表:

<cfset permissionsLevelList = 'blnGalleryAdd,blnGalleryUpdate,blnGalleryDelete,blnGalleryMaster'>

这不会以任何方式通过 UI 传递。

然后我将它转换为一个数组并尝试在我的查询中循环遍历它

<cfset permissionsLevelArray = listToArray(permissionsLevelList)>
AND (
<cfloop array="#permissionsLevelArray#" index="i">
ap.#permissionsLevelArray[i]# = 1
<cfif i neq arrayLen(permissionsLevelArray)>OR</cfif>
</cfloop>
)

但是我得到的错误是不能

cast [blnGalleryAdd] string to a number value

因此,当我只想输出它时,编译器试图将其分配为变量。

有人知道解决这个问题的好方法吗?

最佳答案

documentation ,告诉我在遍历数组时,index 属性表示数组元素,而不是该元素的位置。您的错误消息强化了这一点。

你所要做的就是改变这个:

<cfloop array="#permissionsLevelArray#" index="i">
ap.#permissionsLevelArray[i]# = 1

对此

<cfloop array="#permissionsLevelArray#" index="i">
ap.#i# = 1

与你的问题无关,但你真的不需要这个:

<cfif i neq arrayLen(permissionsLevelArray)>OR</cfif>

由于您使用的是 or 逻辑,因此您可以使用不等式开始或结束该 block ,并在每次迭代时将单词 or 放入循环中。像这样:

and
(1 = 2
<cfloop>
or
this = that
</cfloop>
)

关于coldfusion - 为什么 CFML 一直尝试分配而不是输出我的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42126090/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com