Powershell array assignment assigns variable, not value?


I have an example of a program that creates an array, and then attempts to assign the value of that array multiple times into another array as a multidimensional array.

The output is:

So in this instance, the variable is actually pointing to the original variable. This is very unexpected behavior. It’s rather neat that one can do this, although I never did use unions that much in my C programming. But I’d like a way to actually just do the assignment of the value, not of the variable.

I guess would work, but something tells me that there may be something a little more elegant than that.

Thanks for the input.

This is PowerShell 2.0 under Windows 7 64-bit.


To assign the values of $a to $b instead of the reference to $a, you can wrap the variable in $(). Anything in $() gets evaluated before using it in the command, so $($a) is equivalent to 0, 0, 0.


Powershell array assignment assigns variable, not value? by licensed under CC BY-SA | With most appropriate answer!

Leave a Reply