Выведем все числа так, чтобы их можно было забрать в js
<span id="numbers" style="display: none;"><?=implode(',', $numbers)?></span>
<pre id="display">start</pre>
(function(){
var numbers = document.querySelector('#numbers').innerHTML.split(','), // распарсим числа
delay = 1000, // задержка между цифрами, msec
len = numbers.length,
counter = 0,
display = document.querySelector('#display'),
timer = setInterval(function(){ // запустим таймер
if (counter < len) { // если еще не добрались до конца массива
display.innerHTML = numbers[counter++] // выводим число
} else {
clearInterval(timer) // или выключаем таймер
display.innerHTML = 'end!'
}
}, delay)
})()
Демо:
jsfiddle.net/Stalk/1dat8qmq/1UPD: на второй вопрос: используйте setInterval() и Math.random()