4 Replies Latest reply on Dec 16, 2009 7:38 AM by bje98f

    Dynamically Named Session Variable?

    bje98f Level 1

      Is there any way that i can assign a session variable a name from a variable?

      Something like this but that actually works?

      <cfset variables.userid = 238>
      <cfset session.user#variables.userid# = 1>

       

      Thanks,

       

      Ben

        • 1. Re: Dynamically Named Session Variable?
          ilssac Level 5
          <cfset session["user" & variables.userid] = 1>

           

           

          Learn about array notation of ColdFusion variables, it is a powerful concept.

          • 2. Re: Dynamically Named Session Variable?
            Dan Bracuk Level 5

            <cfset session["user" & variables.userid] = 1>

            • 3. Re: Dynamically Named Session Variable?
              TLC-IT Level 3

              To elaborate on Ian's comment ...

               

              There are two main forms of "structured variables" provided by ColdFusion.  (They are, of course, the "usual suspects" ...)

               

              • Arrays are simply one-based ordered collections of values.  (Each element can be a scalar, a struct, or an array.)
              • Structs are what Perl would call a hash, and other languages might call an "associative array."  Either way, elements are referred-to by keys which may be strings or numbers.  There are two equivalent notations:  variable.key and variable[key].  The practical difference between the two is that, in the second form, "key" may be an arbitrary expression.  The result of evaluating that expression becomes the key that is used.

               

              The underlying implementation in both cases is provided by Java, because ColdFusion performs "on-the-fly" compilation into Java, which is what actually gets executed by the engine.

               

              All of the predefined system variables are either arrays or structs, or at least, functionally appear to be.

              • 4. Re: Dynamically Named Session Variable?
                bje98f Level 1

                Thank you very much!