我必须同意所有其他答案,即这是一个非常糟糕的主意,但是每个现有答案都使用一种有点迂回的方法来实现它。
PHP 提供了一个函数extract,用于将数组中的变量提取到当前作用域中。在这种情况下,您可以像这样使用它(首先使用 explode 和 array_combine 将您的输入转换为关联数组):
$choices = $_POST['choices'] ?: ""; // The ?: "" makes this safe even if there's no input
$choiceArr = explode(',', $choices); // Break the string down to a simple array
$choiceAssoc = array_combine($choiceArr, $choiceArr); // Then convert that to an associative array, with the keys being the same as the values
extract($choiceAssoc, EXTR_SKIP); // Extract the variables to the current scope - using EXTR_SKIP tells the function *not* to overwrite any variables that already exist, as a security measure
echo $banana; // You now have direct access to those variables
有关为什么这是一种不好的方法的更多信息,请参阅关于现已弃用的register_globals设置的讨论。简而言之,它使编写不安全的代码变得容易得多。