readline_callback_read_char()
(PHP 5 >= 5.1.0, PHP 7)
当一个行被接收时读取一个字符并且通知 readline 调用回调函数
说明
readline_callback_read_char(void): void
读取用户输入中的一个字符.当一行被接收时,这个函数将通知 readline 调用使用readline_callback_handler_install()安装的回调函数接口,并且这一个行已经准备输入.
返回值
没有返回值。
范例
See readline_callback_handler_install() for an example of how to use the readline callback interface.
参见
readline_callback_handler_install()
初始化一个 readline 回调接口,然后终端输出提示信息并立即返回readline_callback_handler_remove()
移除上一个安装的回调函数句柄并且恢复终端设置
It seems this function is not blocking anymore: <?php do { readline_callback_read_char(); $str = readline_info('line_buffer'); echo '.'; } while (strlen($str) < 10); echo PHP_EOL . $str . PHP_EOL; ?>
Note that this function is blocking if there is no character to read If you don`t want to get blocked, you should use the trick with stream_select() It also only reads one char per call, So if something else in your script is blocking, you`ve got a problem