使用更多的放在第2行 第二个例子中的?ps-while条件和if条件后面应该跟一个:冒号,而不是a;半殖民地如果你好奇,你可以做一些基准测试,试图找出实际的性能成本是多少,我怀疑它在微秒范围内。另一个要考虑的是,如果使用字节码缓存,任何一种样式都会编译成相同的东西。坚持编写可读的代码为什么您更喜欢带有更多php标记的代码?另外,您的意思是在第二个示例的第2行有?>吗?ps-您的while条件和if条件后面应该跟一个:冒号,而不是a;半殖民地如果你好奇,你可以做一些基准测试,试图找出实际的性能成本是多少,我怀疑它在微秒范围内。另一个要考虑的是,如果使用字节码缓存,任何一种样式都会编译成相同的东西。然而,我认为,由于我将所有内容都均匀地标记出来,所以在快速扫描文档时,第一种方法很容易找到代码。我们中的一些人喜欢代码始终缩进。在标签较少的版本中,外部控制块比内部控制块缩进得更远。简单地说,使用较少或较多的php标签不会影响性能,因此由开发人员决定,这现在是非常相对的。它是可读的。然而,我认为,由于我将所有内容都均匀地标记出来,所以在快速扫描文档时,第一种方法很容易找到代码。我们中的一些人喜欢代码始终缩进。在标签较少的版本中,外部控制块比内部控制块缩进得更远。简单地说,使用较少或较多的php标签不会影响性能,因此由开发人员决定,现在这是非常相对的。每个人都说大致相同的答案Jason,但是你的措辞是最好的:你得到了正确的答案。每个人都在说大致相同的答案杰森,但是你的措辞是最好的:你得到了正确的答案。哇,亚恩,伟大的研究!我会给你正确的答案,如果我没有给Jason的话,Jason应该得到这个答案,但这真的很有趣。虽然百分比表明两者之间存在差异,但在这种情况下,当你处理这么少的时间时,我更喜欢可读性而不是性能。尽管如此,还是做得很好。谢谢Cerelarceny。我也是,我更喜欢有一个干净的代码。差异仅以微秒为单位,因此除了谷歌、Facebook等大公司外,这一小部分时间实际上并不重要。可能值得注意的是,这种延迟主要是在编译或解析时施加的。在编译语言中,编译器将花费额外的时间来创建几乎相同的二进制文件。聪明的解释器也会经常预读代码并执行简单的优化,在这种情况下,惩罚只会发生在开始时。哇,Yann,伟大的研究!我会给你正确的答案,如果我没有给Jason的话,Jason应该得到这个答案,但这真的很有趣。虽然百分比表明两者之间存在差异,但在这种情况下,当你处理这么少的时间时,我更喜欢可读性而不是性能。尽管如此,还是做得很好。谢谢Cerelarceny。我也是,我更喜欢有一个干净的代码。差异仅以微秒为单位,因此除了谷歌、Facebook等大公司外,这一小部分时间实际上并不重要。可能值得注意的是,这种延迟主要是在编译或解析时施加的。在编译语言中,编译器将花费额外的时间来创建几乎相同的二进制文件。聪明的解释器也会经常预读代码并执行简单的优化,在这种情况下,惩罚只会发生在开始时。 \n \t\tHello world!\n \n <?php $time_start = microtime(true); ?> <?php $i = 0; ?> <?php while($i <= 5000): ?> <?php echo $i; ?> <?php $i++; ?> <?php if($i == 5000): ?> This is the end! <?php endif; ?> <?php endwhile; ?> <?php echo $time = microtime(true) - $time_start; ?> <?php $time_start = microtime(true); $i = 0; while($i <= 5000): echo $i." "; $i++; if($i == 5000): echo "This is the end!"; endif; endwhile; echo $time = microtime(true) - $time_start; ?> <?php $time_start=microtime(true);$i=0;while($i<=5000):echo $i." ";$i++;if($i==5000):echo "This is the end!";endif;endwhile;echo$time=microtime(true)-$time_start;?> <?php $time_start = microtime(true); ?> <?php $i = 0; ?> <?php while($i <= 5000): ?> <?php $i++; ?> <?php if($i == 5000): ?> <?php $a=$i; ?> <?php endif; ?> <?php endwhile; ?> <?php echo $time = microtime(true) - $time_start; ?> <?php $time_start = microtime(true); $i = 0; while($i <= 5000): $i++; if($i == 5000): $a=$i; endif; endwhile; echo $time = microtime(true) - $time_start; ?> <?php $time_start=microtime(true);$i=0;while($i<=5000):;$i++;if($i==5000):$a=$i;endif;endwhile;echo$time=microtime(true)-$time_start;?>

使用更多的放在第2行 第二个例子中的?ps-while条件和if条件后面应该跟一个:冒号,而不是a;半殖民地如果你好奇,你可以做一些基准测试,试图找出实际的性能成本是多少,我怀疑它在微秒范围内。另一个要考虑的是,如果使用字节码缓存,任何一种样式都会编译成相同的东西。坚持编写可读的代码为什么您更喜欢带有更多php标记的代码?另外,您的意思是在第二个示例的第2行有?>吗?ps-您的while条件和if条件后面应该跟一个:冒号,而不是a;半殖民地如果你好奇,你可以做一些基准测试,试图找出实际的性能成本是多少,我怀疑它在微秒范围内。另一个要考虑的是,如果使用字节码缓存,任何一种样式都会编译成相同的东西。然而,我认为,由于我将所有内容都均匀地标记出来,所以在快速扫描文档时,第一种方法很容易找到代码。我们中的一些人喜欢代码始终缩进。在标签较少的版本中,外部控制块比内部控制块缩进得更远。简单地说,使用较少或较多的php标签不会影响性能,因此由开发人员决定,这现在是非常相对的。它是可读的。然而,我认为,由于我将所有内容都均匀地标记出来,所以在快速扫描文档时,第一种方法很容易找到代码。我们中的一些人喜欢代码始终缩进。在标签较少的版本中,外部控制块比内部控制块缩进得更远。简单地说,使用较少或较多的php标签不会影响性能,因此由开发人员决定,现在这是非常相对的。每个人都说大致相同的答案Jason,但是你的措辞是最好的:你得到了正确的答案。每个人都在说大致相同的答案杰森,但是你的措辞是最好的:你得到了正确的答案。哇,亚恩,伟大的研究!我会给你正确的答案,如果我没有给Jason的话,Jason应该得到这个答案,但这真的很有趣。虽然百分比表明两者之间存在差异,但在这种情况下,当你处理这么少的时间时,我更喜欢可读性而不是性能。尽管如此,还是做得很好。谢谢Cerelarceny。我也是,我更喜欢有一个干净的代码。差异仅以微秒为单位,因此除了谷歌、Facebook等大公司外,这一小部分时间实际上并不重要。可能值得注意的是,这种延迟主要是在编译或解析时施加的。在编译语言中,编译器将花费额外的时间来创建几乎相同的二进制文件。聪明的解释器也会经常预读代码并执行简单的优化,在这种情况下,惩罚只会发生在开始时。哇,Yann,伟大的研究!我会给你正确的答案,如果我没有给Jason的话,Jason应该得到这个答案,但这真的很有趣。虽然百分比表明两者之间存在差异,但在这种情况下,当你处理这么少的时间时,我更喜欢可读性而不是性能。尽管如此,还是做得很好。谢谢Cerelarceny。我也是,我更喜欢有一个干净的代码。差异仅以微秒为单位,因此除了谷歌、Facebook等大公司外,这一小部分时间实际上并不重要。可能值得注意的是,这种延迟主要是在编译或解析时施加的。在编译语言中,编译器将花费额外的时间来创建几乎相同的二进制文件。聪明的解释器也会经常预读代码并执行简单的优化,在这种情况下,惩罚只会发生在开始时。 \n \t\tHello world!\n \n <?php $time_start = microtime(true); ?> <?php $i = 0; ?> <?php while($i <= 5000): ?> <?php echo $i; ?> <?php $i++; ?> <?php if($i == 5000): ?> This is the end! <?php endif; ?> <?php endwhile; ?> <?php echo $time = microtime(true) - $time_start; ?> <?php $time_start = microtime(true); $i = 0; while($i <= 5000): echo $i." "; $i++; if($i == 5000): echo "This is the end!"; endif; endwhile; echo $time = microtime(true) - $time_start; ?> <?php $time_start=microtime(true);$i=0;while($i<=5000):echo $i." ";$i++;if($i==5000):echo "This is the end!";endif;endwhile;echo$time=microtime(true)-$time_start;?> <?php $time_start = microtime(true); ?> <?php $i = 0; ?> <?php while($i <= 5000): ?> <?php $i++; ?> <?php if($i == 5000): ?> <?php $a=$i; ?> <?php endif; ?> <?php endwhile; ?> <?php echo $time = microtime(true) - $time_start; ?> <?php $time_start = microtime(true); $i = 0; while($i <= 5000): $i++; if($i == 5000): $a=$i; endif; endwhile; echo $time = microtime(true) - $time_start; ?> <?php $time_start=microtime(true);$i=0;while($i<=5000):;$i++;if($i==5000):$a=$i;endif;endwhile;echo$time=microtime(true)-$time_start;?>,php,Php,我一直是一个写干净易读代码的人。话虽如此,我还是无法确定在或多或少地使用时,处理速度是否有任何差异没有语法问题会影响性能,因此请编写可读代码: 您的第二个示例也是可读的,没有理由使用4而不是2个php块没有语法问题会影响性能,因此请编写可读代码: 您的第二个示例也是可读的,没有理由使用4而不是2个php块可能因为缺少缩进而无法读取? 我会这样做的 <?php while($condition): //should be a colon not a semicolon if($a

我一直是一个写干净易读代码的人。话虽如此,我还是无法确定在或多或少地使用时,处理速度是否有任何差异没有语法问题会影响性能,因此请编写可读代码:


您的第二个示例也是可读的,没有理由使用4而不是2个php块

没有语法问题会影响性能,因此请编写可读代码:


您的第二个示例也是可读的,没有理由使用4而不是2个php块

可能因为缺少缩进而无法读取? 我会这样做的

<?php
  while($condition): //should be a colon not a semicolon
    if($anotherCondition): //should be a colon not a semicolon
?>
      Hello world!
<?php 
    endif;
  endwhile; 
?>

可能是因为缺少缩进,所以无法阅读? 我会这样做的

<?php
  while($condition): //should be a colon not a semicolon
    if($anotherCondition): //should be a colon not a semicolon
?>
      Hello world!
<?php 
    endif;
  endwhile; 
?>

这会影响性能,但可能可以忽略不计。任何不在块内的空间或选项卡都将作为PHP脚本输出的一部分发送。要理解这一点,请考虑这个简单的例子:

PHP代码:

<?php while($condition): ?>
    <?php if($anotherCondition): ?>
        Hello world!
    <?php endif; ?>
<?php endwhile; ?>
而这个PHP:

<?php while($condition):
    if($anotherCondition): ?>
        Hello world!
    <?php endif;
endwhile; ?>

不过,这不是您真正想要担心的事情,我建议您选择可读代码。不过,我要说的是,您的第一个示例涉及大量额外的键入,您确定这会更好吗?

这会影响性能,但可能可以忽略不计。任何不在块内的空间或选项卡都将作为PHP脚本输出的一部分发送。要理解这一点,请考虑这个简单的例子:

PHP代码:

<?php while($condition): ?>
    <?php if($anotherCondition): ?>
        Hello world!
    <?php endif; ?>
<?php endwhile; ?>
而这个PHP:

<?php while($condition):
    if($anotherCondition): ?>
        Hello world!
    <?php endif;
endwhile; ?>

不过,这不是您真正想要担心的事情,我建议您选择可读代码。然而,我要说的是,您的第一个示例涉及大量额外的键入,您确定这会更好吗?

我测试了您的2种代码+1无空间版本,通过引入$time\u start=microtimetrue来检查处理速度;编码和回显之前$time=microtimetrue-$time\u start;在代码之后

由于处理时间接近微秒,结果可能因许多微小因素而有所不同。所以我对每一个代码测试了10次,得到了平均时间

打印文本的测试 首选代码

平均时间:0.00366528034210207秒

短码

平均时间:0.00243649482727052秒

无空间代码

平均时间:0.0024282836913秒

不打印文本的测试 首选代码

平均时间:0.00143785476684571秒

短码

平均时间:0.000472831726074218秒

无空间代码

平均时间:0.000457286834716797秒

结论/摘要 带打印文本 首选代码:0.0036652803421007秒 较短的代码:0.00243649482727052秒比上一次快33.5% 无空间代码:0.0024282836913秒比以前快0.4%

不打印文本 首选代码:0.00143785476684571秒 较短代码:0.000472831726074218秒比上一秒快66.1% 无空间代码:0.000457286834716797秒比以前快3.3%


10倍的平均值实际上并不正确。删除极端结果时,应执行100或1000次,以获得相当好的表示。但是,通过这个简单的例子,我们可以看到前两个代码之间的显著差异,第三个代码是无关紧要的。

我测试了您的2种代码+1无空间版本,通过引入$time\u start=microtimetrue来检查处理速度;编码和回显之前$time=microtimetrue-$time\u start;在代码之后

由于处理时间接近微秒,结果可能因许多微小因素而有所不同。所以我对每一个代码测试了10次,得到了平均时间

打印文本的测试 首选代码

平均时间:0.00366528034210207秒

短码

平均时间:0.00243649482727052秒

无空间代码

平均时间:0.0024282836913秒

不打印文本的测试 首选代码

平均时间:0.00143785476684571秒

短码

平均时间:0.000472831726074218秒

无空间代码

平均时间:0.000457286834716797秒

结论/摘要 带打印文本 首选代码:0.0036652803421007秒 较短的代码:0.00243649482727052秒比上一次快33.5% 无空间代码:0.0024282836913秒比以前快0.4%

不打印文本 首选代码:0.00143785476684571秒 较短代码:0.000472831726074218秒比上一秒快66.1% 无空间代码:0.000457286834716797秒比以前快3.3%


10倍的平均值实际上并不正确。删除极端结果时,应执行100或1000次,以获得相当好的表示。但通过这个简单的例子,我们可以看到前两个代码之间的显著差异,第三个代码是无关紧要的。

这没关系!坚持编写可读的代码为什么您更喜欢带有更多php标记的代码?另外,您是否打算将?>放在第2行

第二个例子中的?ps-while条件和if条件后面应该跟一个:冒号,而不是a;半殖民地如果你好奇,你可以做一些基准测试,试图找出实际的性能成本是多少,我怀疑它在微秒范围内。另一个要考虑的是,如果使用字节码缓存,任何一种样式都会编译成相同的东西。坚持编写可读的代码为什么您更喜欢带有更多php标记的代码?另外,您的意思是在第二个示例的第2行有?>吗?ps-您的while条件和if条件后面应该跟一个:冒号,而不是a;半殖民地如果你好奇,你可以做一些基准测试,试图找出实际的性能成本是多少,我怀疑它在微秒范围内。另一个要考虑的是,如果使用字节码缓存,任何一种样式都会编译成相同的东西。然而,我认为,由于我将所有内容都均匀地标记出来,所以在快速扫描文档时,第一种方法很容易找到代码。我们中的一些人喜欢代码始终缩进。在标签较少的版本中,外部控制块比内部控制块缩进得更远。简单地说,使用较少或较多的php标签不会影响性能,因此由开发人员决定,这现在是非常相对的。它是可读的。然而,我认为,由于我将所有内容都均匀地标记出来,所以在快速扫描文档时,第一种方法很容易找到代码。我们中的一些人喜欢代码始终缩进。在标签较少的版本中,外部控制块比内部控制块缩进得更远。简单地说,使用较少或较多的php标签不会影响性能,因此由开发人员决定,现在这是非常相对的。每个人都说大致相同的答案Jason,但是你的措辞是最好的:你得到了正确的答案。每个人都在说大致相同的答案杰森,但是你的措辞是最好的:你得到了正确的答案。哇,亚恩,伟大的研究!我会给你正确的答案,如果我没有给Jason的话,Jason应该得到这个答案,但这真的很有趣。虽然百分比表明两者之间存在差异,但在这种情况下,当你处理这么少的时间时,我更喜欢可读性而不是性能。尽管如此,还是做得很好。谢谢Cerelarceny。我也是,我更喜欢有一个干净的代码。差异仅以微秒为单位,因此除了谷歌、Facebook等大公司外,这一小部分时间实际上并不重要。可能值得注意的是,这种延迟主要是在编译或解析时施加的。在编译语言中,编译器将花费额外的时间来创建几乎相同的二进制文件。聪明的解释器也会经常预读代码并执行简单的优化,在这种情况下,惩罚只会发生在开始时。哇,Yann,伟大的研究!我会给你正确的答案,如果我没有给Jason的话,Jason应该得到这个答案,但这真的很有趣。虽然百分比表明两者之间存在差异,但在这种情况下,当你处理这么少的时间时,我更喜欢可读性而不是性能。尽管如此,还是做得很好。谢谢Cerelarceny。我也是,我更喜欢有一个干净的代码。差异仅以微秒为单位,因此除了谷歌、Facebook等大公司外,这一小部分时间实际上并不重要。可能值得注意的是,这种延迟主要是在编译或解析时施加的。在编译语言中,编译器将花费额外的时间来创建几乎相同的二进制文件。聪明的解释器也会经常预读代码并执行简单的优化,在这种情况下,惩罚只会发生在开始时。
\n
\t\tHello world!\n
\n
<?php $time_start = microtime(true); ?>

<?php $i = 0; ?>
<?php while($i <= 5000): ?>
<?php echo $i; ?>
<?php $i++; ?>
    <?php if($i == 5000): ?>
        This is the end! 
    <?php endif; ?>
<?php endwhile; ?>

<?php echo $time = microtime(true) - $time_start; ?>
<?php

    $time_start = microtime(true);

    $i = 0;
    while($i <= 5000):
        echo $i." ";
        $i++;
        if($i == 5000):
            echo "This is the end!";
        endif;
    endwhile;

    echo $time = microtime(true) - $time_start;

?>
<?php $time_start=microtime(true);$i=0;while($i<=5000):echo $i." ";$i++;if($i==5000):echo "This is the end!";endif;endwhile;echo$time=microtime(true)-$time_start;?>
<?php $time_start = microtime(true); ?>

<?php $i = 0; ?>
<?php while($i <= 5000): ?>
    <?php $i++; ?>
    <?php if($i == 5000): ?>
        <?php $a=$i; ?>
    <?php endif; ?>
<?php endwhile; ?>

<?php echo $time = microtime(true) - $time_start; ?>
<?php

    $time_start = microtime(true);

    $i = 0;
    while($i <= 5000):
        $i++;
        if($i == 5000):
            $a=$i;
        endif;
    endwhile;

    echo $time = microtime(true) - $time_start;

?>
<?php $time_start=microtime(true);$i=0;while($i<=5000):;$i++;if($i==5000):$a=$i;endif;endwhile;echo$time=microtime(true)-$time_start;?>