2012-08-27 9 views
6

किसी दिए गए सूची से उपयोगकर्ता आईडी को निकालने का प्रयास कर रहा है। इसे क्रैक नहीं लग रहा है ... ListDeleteValue पर हटाने पर त्रुटियां - कुछ जो मुझे याद आ रही है। सीएफ 8 पर।ListDeleteValue - सूची का भाग हटाएं

<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

के रूप में [ListDeleteValue] (http://cfdocs.org/listdeletevalue) –

+0

क्षमा कुछ नाडेल से था नोटों में ऐसी कोई समारोह नहीं है - लेकिन यह समारोह के रूप में घोषित किया गया था - मेरा बुरा .. केवल listdeletevalue –

उत्तर

10

आप 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> 
+0

एक्सा थैक्स काम करता है - मैं उचित सीएफ हैश # टैग –

+1

में बदल गया @ जेम्सप्रिविट के जवाब में चेतावनी देखें – jinglesthula

1

करने के लिए एक चर की स्थापना मैं बस इस में आए और मैं अगर listFind() एक परिणाम का उत्पादन नहीं करता प्रदान की समाधान त्रुटि हो सकती है लगता है। आप विचार कर सकते हैं निम्नलिखित

<cfset listPos = ListFind(userssigned,ud,":")> 
<cfif listPos> 
    <cfset newlist = ListDeleteAt(curlist, listPos , ":") /> 
</cfif> 
संबंधित मुद्दे