readline_list_history

(PHP 4, PHP 5, PHP 7, PHP 8)

readline_list_history列出历史记录

说明

readline_list_history(): array

获取整个命令行历史记录。

参数

此函数没有参数。

返回值

返回包含整个命令行历史记录的数组。元素从零开始用整数索引。

添加笔记

用户贡献笔记 2 个笔记

info () gaj ! design
7 年前
我刚注意到,除了这个函数之外,所有 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);
}
?>

(人们可能只想检查最后一个条目是否相同)。
匿名
13 年前
请注意,此函数仅在 PHP 使用 libreadline 编译时可用,如果使用 libedit 编译则不可用。

<?php
if (function_exists('readline_list_history')) {
$history = readline_list_history();
// ...
} else {
echo
'Not supported by the compiled library.'.PHP_EOL;
}
?>
To Top