Saya tidak berpikir Anda perlu meminta maaf atas pilihan bahasa. PHP adalah bahasa yang bagus untuk aplikasi konsol.
Coba ini:
<?php
for( $i=0;$i<10;$i++){
print "$i \r";
sleep(1);
}
?>
"\r" akan menimpa baris dengan teks baru. Untuk membuat baris baru, Anda cukup menggunakan "\n", tetapi saya rasa Anda sudah mengetahuinya.
Semoga ini membantu! Saya tahu ini berfungsi di Linux, tetapi saya tidak tahu apakah ini berfungsi di Windows atau sistem operasi lain.
Untuk menghapus karakter yang dicetak sebelumnya, Anda memiliki tiga opsi:
-
echo chr(8) . " ";
menggemakan karakter belakang, dan akan memindahkan kursor ke belakang satu tempat, dan spasi kemudian akan menimpa karakter tersebut. Anda dapat menggunakanchr(8)
beberapa kali berturut-turut untuk mundur beberapa karakter. -
echo "\r";
akan mengembalikan kursor ke awal baris saat ini. Sekarang Anda dapat mengganti baris dengan teks baru. -
Opsi ketiga adalah mengatur posisi kursor baris dan kolom menggunakan kode escape ANSI, lalu mencetak karakter pengganti. Ini mungkin tidak bekerja dengan semua terminal:
function movecursor($line, $column){
echo "\033[{$line};{$column}H";
}
\r berhasil.
Untuk referensi di masa mendatang, \b tidak berfungsi di PHP di Linux. Saya penasaran - jadi saya juga melakukan beberapa eksperimen dalam bahasa lain (saya melakukannya di Linux - saya tidak tahu apakah hasilnya akan sama di Windows/Mac)..
\b Bekerja di...
- Perl
- Ruby
- Tcl - dengan kode
puts -nonewline "Hello\b"
\b Tidak bekerja di
- PHP - kode
print "Hello\b";
mencetakHello\b
- Python - kode
print "Hello\b"
mencetakHello<new line>
. Hasil yang sama denganprint "Hello\b",