尝试从给定列表中删除用户标识。似乎无法破解它... 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>
答案 0 :(得分:11)
您需要使用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>
答案 1 :(得分:2)
我刚刚遇到过这个问题,如果listFind()没有产生结果,我认为提供的解决方案可能会出错。您可以考虑以下
<cfset listPos = ListFind(userssigned,ud,":")>
<cfif listPos>
<cfset newlist = ListDeleteAt( curlist, listPos , ":") />
</cfif>