2017-06-26 4 views
0

Ich habe Probleme, eine Struktur zu erhalten und zu bearbeiten, die dynamische Variablennamen enthält. Ich habe eine Struktur cfStruct, die eine andere Struktur enthält EMAILS. In der letzten Struktur ist das Maximum der Position 4Coldfusion - Namen von Struktur und dynamischen Variablen

Hier meine Struktur für EMAILS

EMAILS":{"1":"[email protected]","2":"[email protected]","3":"[email protected]"} 

Ich versuche, eine Variable für jedes Element dieser Struktur zu schaffen, wenn es, dass, indem Sie existiert. Trotzdem funktioniert es nicht:

<cfif IsDefined("cfStruct.EMAILS")> 
     <cfloop from="1" to="5" index="i"> 
      <cfif StructKeyExists(cfStruct.EMAILS, '#i#') > 
       <cfset setVariable("EMAIL_#i#", "#cfStruct.EMAILS.i#" > 
      <cfelse> 
       <cfset setVariable("EMAIL_#i#", '') > 
      </cfif> 
     </cfloop>  
    <cfelse> 

Könnten Sie mir bitte helfen, das Problem zu lösen?

Grüße,

+0

Wie wäre es damit?

Antwort

0

löste ich das Problem, das es zu einem Syntax Problem war:

<cfloop from="1" to="5" index="i"> 
     <cfif StructKeyExists(cfStruct.EMAILS, '#i#') > 
      <cfset setVariable("EMAIL_#i#", "#cfStruct.EMAILS[i]#") > 
     <cfelse> 
      <cfset setVariable("EMAIL_#i#", '') > 
     </cfif> 
    </cfloop> 
0

Streng genommen, sollten Sie cfStruct.EMAILS verwenden [ "# i #"] anstelle von „# cfStruct.EMAILS [ich]#". Das heißt,

<cfloop from="1" to="5" index="i"> 
    <cfif StructKeyExists(cfStruct.EMAILS, "#i#") > 
     <cfset setVariable("EMAIL_#i#", cfStruct.EMAILS["#i#"]) > 
    <cfelse> 
     <cfset setVariable("EMAIL_#i#", '') > 
    </cfif> 
</cfloop> 
Verwandte Themen