在操作字符串时,如下例所示,重用变量名是不是很糟糕?
<?php
$string = "Jimmy <b>likes</b> red shoes";
$string = strip_tags($string);
$string = str_replace("red", "blue", $string);
$string = strtoupper($string);
echo $string;
?>
如果是禁止,那么首选什么?是否应该尝试将其纳入一行代码?或者使用4个不同的变量名称?
我尝试过搜索,但我能找到的唯一参考是将变量从数组更改为字符串或类似的东西。
谢谢! 比利
答案 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
。
变量的真正危险是在广泛的范围内使用它们(全局和大函数),其中命名空间冲突可能导致数据被覆盖。除了防止冲突之外,小函数可以帮助减少内存使用,因为局部变量将更短暂。