这样做有什么问题吗?我到处看了看,这似乎不是很常见的事情?有没有我不知道的内置函数?我使用 PDO 作为输入,所以我认为这没问题。
感谢您的帮助!!
foreach($_POST as $post => $var){
${$post} = $var;
}
最佳答案
警告
As @Gumbo stated, this is, in no way, what you want to do. You should avoid doing anything like this with super globals in any sense. You're better off controlling each aspect as best as possible and assigning the variables properly, as best practice permits. i.e.
$a = 'derp';
你正在做的叫做Variable Variable并内置于 PHP 中。它实质上允许您动态创建在当前范围内使用的变量。
获取以下内容的 $_POST
数组:
Array (
[a] => 'derp'
)
现在使用您当前的代码,您将动态创建和分配一个变量:
foreach($_POST as $post => $var){
${$post} = $var;
}
反过来,允许您访问所述变量作为键:
echo $a; // would echo out derp
根据个人经验,这并不总是必要的,您可能会遇到的一个问题是覆盖已经设置的变量,进而产生不需要的/无法解释的输出。
您最好阅读这些答案,以便更广泛地了解您当前正在做的事情:
关于PHP 将 vars 发布到 var 名称可以使用 PDO 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33642750/