Чтение символа из консоли

Когда я искал, как прочитать один символ из консоли, я нашел эту статью, но я не думаю, что это решение работает для Windows. Итак, мой вопрос: как выполнить readline() для одного символа, который работает без нажатия ввода/возврата после каждого отдельного символа?

Я пробовал stream_get_line(STDIN, 1), но эта функция не возвращает результат после ввода первого символа и не возвращает только один символ после нажатия ввода/возврата.


person Cubi73    schedule 28.09.2014    source источник
comment
Итак, чтобы уточнить, разница между вашим вопросом и предыдущим в том, что вам нужно решение, которое работает в Windows? Кроме того, пробовали ли вы решения по этому вопросу и подтверждали (например, из сообщений об ошибках или заметок в руководстве), что они не работают потому что вы работаете в Windows, а не по какой-то другой причине?   -  person IMSoP    schedule 28.09.2014
comment
кстати: если вы на самом деле хотите взаимодействовать с пользователем каким-либо другим способом, кроме как через данные HTTP ... PHP не ваш язык - он был создан с единственной целью WWW/HTTP.   -  person specializt    schedule 28.09.2014
comment
Я убедился, что предыдущее решение не работает в Windows, потому что Windows не знает команду stty. Я не хочу взаимодействовать с пользователем через данные http, я запускаю свой PHP-скрипт в командной строке Windows. Предыдущее решение — это решение для отсутствующей библиотеки readline в Windows. Но это не работает для чтения одного символа, такого как System.Console.ReadKey() в С#.   -  person Cubi73    schedule 28.09.2014
comment
@specializt При всем уважении, это сильное преувеличение. PHP имеет множество функций, специально предназначенных для программирования CLI, и многие другие, которые не имеют ничего общего с HTTP или терминальным вводом-выводом. Часто чрезвычайно полезно иметь возможность повторно использовать код (не говоря уже о опыте) в нескольких контекстах, поэтому не всегда нужно выбирать наилучший язык CLI. Тем не менее, сочетание Windows, PHP и CLI относительно необычно, поэтому неудивительно, что этот ответ относительно сложно найти.   -  person IMSoP    schedule 28.09.2014