使用无限while循环动态更改值是不好的做法吗?

时间:2014-01-30 23:48:40

标签: php loops while-loop sleep

我想要一段文本已经每10分钟动态更改一次而不刷新页面。我正在思考以下几点:

<?php
   while (1 < 2) {
      echo $value;
      sleep(60);
   }
?>

我意识到这是一个愚蠢的方式来进行一个while循环运行,我认为它只适用于“while(){}”但我只是想确保,当我真正把这个东西写成时,这将得到纠正只要这并不可怕。如果有更好的方式我会喜欢听到它!谢谢!

编辑:我刚注意到它会在第一个之后回显值,任何切割方法都会让它取代它吗?

Edit2这是我已经编写的用于检索更改值的php函数:

<?php
   function getTotal($basePrice){
      $dogeValue = file_get_contents("https://www.dogeapi.com/wow/?a=get_current_price");
      $postage = .49/$dogeValue;
      return round($sellAmount = $basePrice/$dogeValue - $postage - ($basePrice*0.1/$dogeValue));
   }
?>

2 个答案:

答案 0 :(得分:2)

简短回答:是的,这是不好的做法。

原因包括:

  1. 你占用你的服务器(可能会超时)
  2. 除非你玩弄缓冲,否则你想要的东西不会反映出来
  3. 您永远不会将关闭标记发送到浏览器(或稍后发生的任何其他内容)。
  4. 覆盖已经存在的东西是很棘手的,所以最终输出增加而不是改变。
  5. 建议:

    使用客户端代码(javascript,AJAX) - 不要尝试执行此服务器端。

    您可以在https://stackoverflow.com/a/6378771/1967396看到定期AJAX的示例。

    对于定期JavaScript,请在​​Is there any way to call a function periodically in JavaScript?

    上查看许多好的答案

答案 1 :(得分:0)

此脚本将从不向您展示任何内容,因为在处理完PHP脚本之前,Web服务器不会发送任何输出,考虑到您的无限循环,它永远不会发生。

而不是这个不起作用的想法,使用 Ajax cron jobs ,甚至是纯 javascript ,它非常简单,更加理性