【问题标题】:Assign changed variable to the same variable is safe?将更改的变量分配给同一个变量是否安全?
【发布时间】:2011-11-08 17:09:11
【问题描述】:

这是一种好的做法吗?如果我将变量的稍微改变的值分配给它自己,是否有机会出现 fubar?

例如

$myVar = 1;
$myVar = $myVar + 33959902;
$myVar = rtrim($myVar,2);
$myVar  = explode(",",$myVar);

我知道这会起作用,但是在 PHP 中这样做安全吗?

【问题讨论】:

    标签: php variables syntax


    【解决方案1】:

    这违反了使用好的变量名的做法——如果变量真的代表相同的东西,那么我会考虑重新分配给它。因为它在这种情况下代表相同的东西,所以我认为它“不好”或“代码味道”。

    (但是,否则它将“安全地工作”。)

    编码愉快。

    【讨论】:

    • 我会跟进说,如果你回来并意识到你需要一个中间步骤,你需要重写部分代码。
    【解决方案2】:

    是的。

    在可读性/可维护性方面并不总是最好的。但是自从PHP is a dynamic and weak typed language之后就安全了。

    【讨论】:

      【解决方案3】:

      这样做完全没问题。有些人将它们全部组合成一条线,但我有点喜欢这种方法。

      不过,我不同意其他答案。就个人而言,我认为为每个步骤分配不同的变量更令人困惑。看到每个变量都相同,这告诉我这组语句都相互关联。当您逐步解决它时,它看起来更像一个数学问题。我会说这确实遵循分配好的变量名称的做法。只是方法风格不同而已。

      【讨论】:

        【解决方案4】:

        PHP 是一种弱类型/松散类型的语言,这意味着您无需在为变量赋值之前声明其类型,并且您可以随时切换变量的数据类型。

        所以你可以这样做,但我不建议在运行时切换变量的数据类型,因为这可能会导致严重的维护问题。对我来说,这是一种不好的做法。

        就我个人而言,我什至通常使用某种hungarian notation(如$iCount、$oObject 等)作为变量标识符,以使代码更易于他人阅读和维护。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-04-26
          • 2016-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-08-22
          • 1970-01-01
          相关资源
          最近更新 更多