需要知道这段代码中究竟发生了什么

时间:2013-03-25 19:56:18

标签: php assignment-operator

我对此代码感到困惑

$name = $formData["name"] = stripslashes($mechanic_buy_name);

我发现这些代码用于从互联网下载的一个脚本中。 我需要知道它到底是什么?

$ name和$ formData'[“name”]也将具有相同的值,而且带有stripslashes。

例如,如果$ mechanic_buy_name的值=“SomeValue'WithQuote's”;

在这种情况下,将为$ name和$ formData'[“name”]分配什么?

很想知道。

2 个答案:

答案 0 :(得分:1)

$name = $formData["name"] = stripslashes($mechanic_buy_name);

相同
$formData['name'] = stripslashes($mechanic_buy_name);
$name = $formData['name'];

说明:

$name等于$formData['name']的值,其中$formData['name']的值等于$mechanic_buy_name的值

所以在你的例子中如果:

$mechanic_buy_name = "SomeValue'WithQuote's";
$name = $formData["name"] = stripslashes($mechanic_buy_name);

echo $name . "\n" . $formData["name"];

将打印以下内容:

SomeValue'WithQuote's
SomeValue'WithQuote's

答案 1 :(得分:1)

您要将两个变量设置为相同的值:

$name = $formData["name"] = stripslashes($mechanic_buy_name);

与以下内容相同:

$name = stripslashes($mechanic_buy_name);
$formData["name"] = stripslashes($mechanic_buy_name);

不同之处在于它向后运作:

stripslashes($mechanic_buy_name)设置为$formData["name"]$formData["name"]设置为$name

它们是两个独立的变量。如果你换一个,它就不会影响另一个。