【问题标题】: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"] 将被分配什么?

很想知道。

【问题讨论】:

    标签: php assignment-operator


    【解决方案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 它会影响这两个变量
      猜你喜欢
      • 1970-01-01
      • 2019-11-27
      • 2016-06-09
      • 1970-01-01
      • 2023-02-24
      • 1970-01-01
      • 2018-07-28
      • 1970-01-01
      相关资源
      最近更新 更多