什么是PHP中使用的readline历史记录?

时间:2015-12-08 23:02:57

标签: php shell

我打算创建一个从命令行运行的PHP驱动脚本。所以我正在研究PHP如何处理输入并在php.net上遇到Readline page。此页面上的示例使用 readline_add_history 函数:

<?php
//get 3 commands from user
for ($i=0; $i < 3; $i++) {
        $line = readline("Command: ");
        readline_add_history($line);
}

//dump history
print_r(readline_list_history());

//dump variables
print_r(readline_info());
?>

我的问题是为什么你会在正常数组甚至字符串上使用 readline_add_history readline_list_history 。这会以同样的方式工作吗?

<?php
//get 3 commands from user
$input = '';
for ($i=0; $i < 3; $i++) {
        $input .= readline("Command: ") . "\n";
}

//dump input
print_r($input);

//dump variables
print_r(readline_info());
?>

我问这个是因为我找不到任何明显的解释。也许这些函数还有其他优点吗?

1 个答案:

答案 0 :(得分:1)

将行添加到历史记录中的一点是,用户可以按向上箭头选择上一行,或使用Ctrl-R搜索一行,而无需从头开始输入。

当您想要调整上一个命令并再次提交时,这非常有用。