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

修改字符串时重用变量名(PHP),php,Php,当您像下面的示例一样操作字符串时,重用变量名是一种不好的形式吗 <?php $string = "Jimmy <b>likes</b> red shoes"; $string = strip_tags($string); $string = str_replace("red", "blue", $string); $string = strtoupper($string); echo $string; ?>

当您像下面的示例一样操作字符串时,重用变量名是一种不好的形式吗

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

如果是否定的,你更喜欢什么?我们应该试着把它变成一行代码吗?或者使用4个不同的变量名

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

谢谢大家!

Billy

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

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

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

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

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

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

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

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

变量名应该是存储在其中的数据的简短、精确的描述。因此,重新使用变量名是可以的,甚至在没有更好的名称时更可取。另一方面,变量不应在以下错误尝试中重复使用:

($i=0;$i{ ... } 对于($map as$i=>$value){ ... } 第二个循环中的索引(存储在
$i
中的值)最好是整数,而不是重复使用
$i
来存储字符串,因为
$i
几乎是整数索引的通用代码。如果有人坚持清理空间,他们可以使用


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

变量名应该是存储在其中的数据的简短、精确的描述。因此,重新使用变量名是可以的,甚至在没有更好的名称时更可取。另一方面,变量不应在以下错误尝试中重复使用:

($i=0;$i{ ... } 对于($map as$i=>$value){ ... } 第二个循环中的索引(存储在
$i
中的值)最好是整数,而不是重复使用
$i
来存储字符串,因为
$i
几乎是整数索引的通用代码。如果有人坚持清理空间,他们可以使用


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

我不认为这就是他们所说的“不要重用变量名”的意思。对我来说,这没关系,这正是我做这类陈述的方式。与其把它看作是“重用名称”,不如把它看作是对同一个变量进行多次修改。不,我想说这绝对没有错。我不认为这就是他们所说的“不要重用变量名”的意思。对我来说,这没关系,这正是我做这类陈述的方式。与其把它看作是“重用名称”,不如把它看作是对同一个变量进行多次修改。不,我想说这绝对没有什么问题。我记得学习PHP的一个障碍是试图从内到外阅读类似的内容。OP的版本肯定更清晰。@Marmartigan:OP的版本更清晰。但是,从本文中::不要无缘无故地复制变量。@ZulkhaeryBasrul:“无缘无故”?原因是可读性和易于维护。我能想到其他几个原因,但我还是不说了。太棒了。我想这没关系。谢谢大家的投入!BillyI记得我学习PHP的一个障碍是试图从内到外阅读类似的内容。OP的版本肯定更清晰。@Marmartigan:OP的版本更清晰。但是,从本文中::不要无缘无故地复制变量。@ZulkhaeryBasrul:“无缘无故”?原因是可读性和易于维护。我能想到其他几个原因,但我还是不说了。太棒了。我想这没关系。谢谢大家的投入!比利