修改字符串时重用变量名称(PHP)

时间:2011-12-28 03:26:47

标签: php

在操作字符串时,如下例所示,重用变量名是不是很糟糕?

    <?php
    $string = "Jimmy <b>likes</b> red shoes";
    $string = strip_tags($string);
    $string = str_replace("red", "blue", $string);
    $string = strtoupper($string);
    echo $string;
    ?>

如果是禁止,那么首选什么?是否应该尝试将其纳入一行代码?或者使用4个不同的变量名称?

我尝试过搜索,但我能找到的唯一参考是将变量从数组更改为字符串或类似的东西。

谢谢! 比利

2 个答案:

答案 0 :(得分:3)

它没有任何问题,只要您以后不再需要原始的$string值。完成$string = something($string)后,原始值将被销毁并替换为修改后的版本。

理论上,您可以简单地将整个序列链接在一​​起

echo strtoupper(str_replace('red', 'blue', strip_tags('Jimmy likes...')));

但这会导致无法读取且无法维护的代码。

答案 1 :(得分:0)

变量名称应该是对其中存储的数据的简短描述。因此,重复使用变量名称很好,甚至在没有更好的名称时也更好。另一方面,在optimization的错误尝试中不应重复使用变量:

for ($i=0; $i < n; ++$i) {
    ...
}
for ($map as $i => $value) {
    ...
}

第二个循环中的索引(存储在$i中的值)最好是整数,而不是重新使用$i来存储字符串,因为$i几乎是整数的通用代码指数。如果有人坚持清理空间,他们可以使用unset

变量的真正危险是在广泛的范围内使用它们(全局和大函数),其中命名空间冲突可能导致数据被覆盖。除了防止冲突之外,小函数可以帮助减少内存使用,因为局部变量将更短暂。