【发布时间】:2017-03-06 16:49:02
【问题描述】:
我有一个 php 循环,但它会不断打印彼此相邻的值,而不是清除第一个循环值并用新的循环值替换它。这是我的代码。
while (1==1) {
$a=array("red","green","blue","yellow","brown");
$x=array_rand($a,3);
sleep(5);
print $a[$x[0]];
}
基本上它只需要每5秒自己回显一个新的随机值,目前它不会删除旧值。
【问题讨论】:
-
据我了解,这不能通过 PHP 完成。正如 PHP 所做的那样,它会将数据发送给用户。它无法清除它已经发送的内容。您需要像 JavaScript 这样的客户端来更改用户已经看到的值。
-
在终端窗口中运行的唯一方法是在终端窗口中,您需要返回到行首:
print $a[$x[0]]."\r";并考虑某些单词比其他单词更长:@987654323 @ -
为什么要删除之前的值? “print”的意思是“打印”,而不是“删除之前的内容然后打印”
-
最好使用
$x=array_rand($a);和print $a[$x] . PHP_EOL;,因为您实际上并没有使用3 个随机值,而您只使用了一个
标签: php while-loop