Question: It's time to stop searching a just ask. I can't find an answer online for the life of me. Anyway, I am going through someone else's code and they have this syntax inside of a loop and I'm not sure exactly what is happening.

```
foreach($params as $key => $val) {
    ${$key} = $val
}

```

It's the ${$key} that I don't understand.

Answer: 
It's assigning all the key-value pairs in an array to actual variables.

`${$key}` is evaluated twice. It takes the `$key` for that value and evaluates it to a string. So if `$key` were the string 'foo' then the final operation being done would be `$foo = $val`.
This is called Variable variables <http://php.net/manual/en/language.variables.variable.php>.
If the `$key = 'test'`, then `${$key} === $test.`
And so the result will be `$test = $val`.