你能把PHP文本转换成变量吗?

你能把PHP文本转换成变量吗?,php,Php,我想知道是否可以这样动态创建变量: $sender = $email = $number = $message = ""; foreach ($_POST as $key => $value) { if isset & !empty //loosely typed $+key = $value // can something like this be done? } 如果是这样的话,怎么办?像这样的事情应该会奏效。但是我不会这样做,除非你完全信任数据,如果它的

我想知道是否可以这样动态创建变量:

$sender = $email = $number = $message = "";

foreach ($_POST as $key => $value) {
    if isset & !empty //loosely typed
    $+key = $value // can something like this be done?
}

如果是这样的话,怎么办?

像这样的事情应该会奏效。但是我不会这样做,除非你完全信任数据,如果它的POST数据像
$\u POST['key']

foreach ($_POST as $key => $value) {
    if isset & !empty //loosely typed
    ${$key} = $value // can something like this be done?
}
PHP确实有,但这里不需要。我认为一个简单的关联数组或对象会很适合你

$data = array(
  'sender' => 'Someone',
  'email' => 'test@example.com',
  'number' => 12345,
  'message' => 'some message'
);

echo $data['sender']; // Someone

有一个名为
extract
的PHP函数,它完成了您要查找的内容


非常感谢,有趣的.np。请注意,我99.999%确定您实际上是在寻找
数组
s。我觉得我需要在这里否决每个答案,因为我要教OP做的是注册全局函数。如果您不介意的话,请展开一点Jonathan?这不考虑空值。Extract是一个讨厌的函数,不应该使用。“你在这里不需要它”可以用“你永远都不需要它”来代替“-我还没有看到一段使用变量的代码,使用关联数组不会更好。虽然我同意数组在这里更好,但如果OP像他们的示例中那样使用$\u POST,它已经在数组中了。@JonathanKuhn同意,如果这是所需的格式的话。”。我读到的是,他需要改变一下结构,但这是一个好的观点,取决于他的意图。