PHP中常用的stdin(標準輸入)函數是readline。該函數讀取并返回標準輸入處理器上的一行。在交互式CLI界面中有極大的作用。
在PHP>5.1版本中支持readline,首先需要確認是否已開啟readline。可通過以下代碼檢查:
if(!function_exists("readline")){ echo "Readline extension is not enabled \n"; }else{ echo "Readline extension is enabled \n"; }
如果已開啟readline,則應該輸出"Readline extension is enabled"。否則,則輸出"Readline extension is not enabled"。
下面是一個簡單的交互式程序,它要求用戶輸入姓名并返回問候語:
$name = readline("What is your name? "); echo "Hello, $name!\n";
用戶輸入的任何內容將被儲存在$name變量中,并打印一個問候語。
還有一個常見的用法是使用readline函數在程序的交互界面中提供文本自動完成。例如:
function autocomplete($input, $index){ $commands = array('run', 'walk', 'jump'); $matches = array(); foreach($commands as $command){ if(strpos($command, $input) === 0){ $matches[] = $command; } } return $matches[$index]; } readline_completion_function('autocomplete'); $input = readline('> '); echo "Command: $input\n";
在上面的示例中,我們定義了一個函數來提供自動完成。然后使用readline_completion_function函數將其作為自動完成函數注冊到readline擴展中。現在,當用戶輸入時,鍵入的任何內容都將通過autocomplete函數篩選并自動完成。
readline函數不僅僅用于控制交互界面的用戶輸入,也可以用于讀取用戶輸入的文件:
$filename = readline('Enter filename: '); $file = file_get_contents($filename); echo $file;
在上面的代碼中,用戶將輸入一個文件名,然后將要求PHP讀取該文件并將內容輸出到控制臺。
總之,readline函數在PHP中具有廣泛的應用,可以方便快捷地處理用戶特定的數據輸入。
上一篇php rand緩存
下一篇css導入樣式怎么寫