I understand what the following line does but i don't understand how the brackets are used? I have always used brackets in an if, while and other statements but i have never used them in this fashion.
Are there rules to using them this way, should i not use them in this way? Any help would be appreciated... Thanks
${$key} = $temp;
In that specific case, there is effectively no difference between using brackets and not.
So your code is equivalent to the following:
$$key = $temp;
The brackets are typically used to force PHP to interpolate variables in strings, which isn't necessary in this case.
Using the brackets is very helpful for reducing ambiguity in a statement using array indices:
${$array[0]} = $temp;
As opposed to
$$array[0] = $temp;
The parser will think that you meant ($$array)[0]
, not $($array[0])
Have a look at:
It seems to be using variable variables.
Otherwise, braces like that are usually used for variable interpolation in strings, where the variable is an object property or array member.
In the example above, they are not necessary. It also seems you can subscript an array with variable variables, with no issues.