需要确切知道这段代码中发生了啥
Posted
技术标签:
【中文标题】需要确切知道这段代码中发生了啥【英文标题】:Need to know whats happening in this code exactly需要确切知道这段代码中发生了什么 【发布时间】:2013-03-15 10:50:20 【问题描述】:我对这段代码有点困惑
$name = $formData["name"] = stripslashes($mechanic_buy_name);
我发现这些代码用于从互联网下载的脚本之一。 我需要知道这到底是怎么回事?
$name 和 $formData'["name"] 也将具有相同的值,并且带有stripslashes。
例如,如果 $mechanic_buy_name 的值 = "SomeValue'WithQuote's";
在这种情况下,$name 和 $formData'["name"] 将被分配什么?
很想知道。
【问题讨论】:
【参考方案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
【讨论】:
【参考方案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
。
它们是两个自变量。如果你改变一个,它不会影响另一个。
【讨论】:
如果你改变了 $mechanic_buy_name 它会影响这两个变量以上是关于需要确切知道这段代码中发生了啥的主要内容,如果未能解决你的问题,请参考以下文章
Android OS 2.2 权限:我完全不知道为啥这段简单的代码不起作用。我究竟做错了啥?
Javascript - 在这个例子中异步并行的回调发生了啥?