To explain my code, it goes through the array you pass to the function and creates variables out of the array keys, just like extract() does. The $GLOBALS array is a superglobal array (defined here: [man]variables.predefined[/man]), so by adding the new variable to that array, it's as if you created a variable in the global scope. All I do is use the $key of the array item, run it through str_replace() to get rid of any spaces, and use that as the key for our new variable.
If you know that the order never changes, you can of course use the list() method you showed. Either way, don't forget to mark this thread resolved (if it is).