我剛注意到,除了這個函式以外,所有 readline 函式都可以在我的 php.exe (PHP 7, Cygwin) 中使用。如果能有這個函式來篩選重複的行就太好了。
所以為了模擬它,我將歷史紀錄的工作副本保存在一個陣列中(是的,額外的程式碼/資料,但有一些方法可以防止歷史紀錄變得太大)。
載入方式如下
<?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);
}
?>
(您可能只想檢查最後一個項目是否相同。)