8

试图从给定列表中删除用户 ID。似乎无法破解它... ListDeleteValue 的删除错误 - 我缺少的东西。在 CF8 上。

 <cfset curlist = "#userssigned#"> - say userx:usery:userz
 <cfset ud = "#session.user_id#"> - say userz

 <cfoutput>
 #curlist#
 <br>
 <br>
 #ud#
 <br>

 <cfset newlist = ListDeleteValue( curlist, "#ud#", ":") />

 #newlist# - should delete userz? end up as userx:usery
 </cfoutput>
4

2 回答 2

12

您需要使用并且还需要使用 以下代码ListDeleteAt()在列表中查找项目的位置ListFind()

"##"注意:当您将一个变量设置为另一个变量时,您不需要使用

<cfset userssigned = 'userx:usery:userz' />
<cfset session.user_id = 'userz' />

<cfset curlist = userssigned />
<cfset ud = session.user_id />

<cfoutput>
 #curlist#<br><br>
 #ud#<br>
 <cfset newlist = ListDeleteAt( curlist, ListFind(userssigned,ud,":"), ":") />
 #newlist# - should delete userz? end up as userx:usery
</cfoutput>
于 2012-08-27T16:17:37.913 回答
3

我刚遇到这个,我认为如果 listFind() 没有产生结果,提供的解决方案可能会出错。你可以考虑以下

<cfset listPos = ListFind(userssigned,ud,":")>
<cfif listPos>
    <cfset newlist = ListDeleteAt( curlist, listPos , ":") />
</cfif>
于 2015-02-28T17:31:23.247 回答