2017-03-06 66 views
-5

我有一個PHP循環,但它保持打印值彼此相鄰,而不是清除第一個循環值,並將其替換爲新的循環值。這是我的代碼。重置while循環值在PHP

while (1==1) { 
     $a=array("red","green","blue","yellow","brown"); 
     $x=array_rand($a,3); 
     sleep(5); 
     print $a[$x[0]]; 
    } 

基本上它只需要每5秒自己回顯一個新的隨機值,目前它不會刪除舊值。

+1

據我瞭解,這無法通過PHP進行。正如PHP所做的那樣,將這些數據發送給用戶。它無法清除它已發送的內容。你需要像JavaScript這樣的客戶端來改變用戶已經看到的價值。 –

+0

這將以你想要的方式行事的唯一方法是在終端窗口,你需要返回到行的開頭:'print $ a [$ x [0]]。「\ r」;'並解釋一些單詞比其他單詞長:'print $ a [$ x [0]]。 str_repeat(「」,3)。 「\ r」;' – AbraCadaver

+1

爲什麼要刪除以前的值? 「打印」的意思是「打印」,而不是「刪除之前有任何東西,然後打印」 –

回答

0

嘗試使用jquery,下面的例子是隨機數字。

<script> 

    var id = window.setInterval(function(){randomNumber();},1000); 

    function randomNumber() 
    { 
     var rand = Math.floor(Math.random()*6); 
     //Do whatever you want with that number 
     $('#holder').html(rand); 
    } 

</script> 



<!DOCTYPE html> 
<html> 
<head> 
    <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> 
    <meta charset=utf-8 /> 
    <title>Random Number</title> 
</head> 
<body> 
<div id='holder'></div> 
</body> 
</html> 

對於隨機文本

var names = ['test1', 'test2', 'test3', 'test4']; 

setInterval(function() { 
    var rand = Math.floor(Math.random() * 4); 
    document.getElementById("name").innerHTML = names[rand]; 
}, 2000); 

<div id="name">test</div> 
-1

我不知道我是否理解你正在努力完成的任務,但我認爲這就是你要做的。

$a=array("red","green","blue","yellow","brown"); 
while (count($a)) { 

     $x=array_rand($a); 
     sleep(5); 
     echo chr(13). $a[$x]; 

}