需要确切地知道此代码中发生了什么

Need to know whats happening in this code exactly

提问人:Asnexplore 提问时间:3/26/2013 更新时间:3/26/2013 访问量:30

问:

我对这段代码有点困惑

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

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

也将$name和 $formData'[“name”] 将具有相同的值,并且使用条形斜杠也是如此。

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

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

想知道。

php 赋值运算符

评论


答:

1赞 GGio 3/26/2013 #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赞 Samuel Cook 3/26/2013 #2

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

$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

它们是两个自变量。如果更改一个,则不会影响另一个。

评论

0赞 GGio 3/26/2013
顺便说一句,如果更改 $mechanic_buy_name,它将影响这两个变量