我刚刚注意到,除了这个函数之外,我的 php.exe(PHP 7,Cygwin)可以使用所有 readline 函数。如果能有它就好了,这样就可以筛选重复的行。
因此,为了模拟它,我将历史记录的工作副本保存在一个数组中(是的,额外的代码/数据,但有一些方法可以防止历史记录变得太大)。
加载方式如下
<?php
readline_read_history(HISTFILE);
$hist = file(HISTFILE,FILE_IGNORE_NEW_LINES);
array_shift($hist);
?>
添加方式如下
<?php
if (!in_array($line,$hist)) {
$hist[] = $line;
readline_add_history($line);
}
?>
(可能只想检查最后一条条目是否相同。)