I've made read key press function in PHP. The code sets non-block stream mode for STDIN and in while waits when STDIN will receive any data. It works, but I noticed that function loads CPU to 100%. How much is bad this code for CPU and is there any another way to check is STDIN contains any data?
$stdin = fopen("php://stdin", "r");
stream_set_blocking($stdin, false);
system("stty cbreak -echo");
while (true)
{
if ($keypress = strtoupper(fgets($stdin)))
{
break;
}
}
stream_set_blocking($stdin, true);