PHP:将Array值转换为变量

时间:2011-04-13 19:43:51

标签: php arrays variables

我正在创建一个表单,我想将POST的值更改为变量。 但我在某种程度上做错了。

检查样本:

$_POST['name'] = $name;
$_POST['age'] = $age;
$_POST['country'] = $country;

此错误在第一个$ _POST

上弹出:Parse error: syntax error, unexpected T_VARIABLE

5 个答案:

答案 0 :(得分:3)

虽然其他人完全正确地指出您不应该为$_POST超全局分配值,但 可以让您进行此类分配。毕竟,$_POST超全局 只是一个数组,所以它就像一个。

您看到的错误是因为PHP将$_POST['name']识别为前一个语句的一部分。检查以确保您已正确结束之前的语句(即$_POST['name'] = $name之前的行以;结束)。

你可能确实希望将$_POST['name']分配给变量,而不是像现在一样将其分配给其他方式,但这并不是导致错误的原因。

答案 1 :(得分:1)

您没有以编程方式设置$_POST个变量。这些是由服务器根据该页面POST'ed的内容设置的(通过表单或其他方式)。

所以我很确定你想要:

$name = $_POST['name'];
$age = $_POST['age'];
$country = $_POST['country'];

这是因为赋值运算符的工作原理如下:

a = b

将a设置为b。

的值

答案 2 :(得分:1)

走另一条路:

$name = $_POST['name'];
$age = $_POST['age'];
$country = $_POST['country'];

答案 3 :(得分:1)

分配从右到左工作,因此要将值 转换为变量,您必须执行以下操作:

$name = $_POST['name'];
...

上面的代码不包含任何语法错误,必须来自其他地方。

答案 4 :(得分:0)

你有这个倒退,它应该是:

$name = $_POST["name"];  
$age= $_POST["age"];  
$country= $_POST["country"];  

=右边的值被分配到左边。你正在试图用一个未赋值的变量替换post变量。