这样做有什么不对吗?我到处看,看起来这不是一件普通的事吗?是否有内置功能我不知道这是做到这一点?我使用PDO进行输入,所以我假设这很好。
感谢您的帮助!!
foreach($_POST as $post => $var){
${$post} = $var;
}
答案 0 :(得分:2)
作为@Gumbo stated,这绝不是你想要做的。您 在任何意义上都应避免使用超级全局变量做这样的事情。 你最好尽可能地控制每个方面 正如最佳实践所允许的那样,正确地分配变量。即。
$a = 'derp';
您正在做的事情被称为Variable Variable并且内置于PHP中。它本质上允许您动态创建变量以在当前范围内使用。
获取以下$_POST
数组:
Array (
[a] => 'derp'
)
现在使用您当前的代码,您将动态创建&分配变量:
foreach($_POST as $post => $var){
${$post} = $var;
}
反过来,允许您访问所述变量作为密钥:
echo $a; // would echo out derp
从个人经验来看,这并不总是必要的,您可能遇到的一个问题是覆盖已经设置的变量,反过来会产生不需要的/无法解释的输出。
您最好阅读这些答案,以便更好地了解您目前正在做的事情: