在PHP中是否有相当于PERL的TIE?我想看一个字符串(单个单词)是否在一个文件中,每行是一个单词/字符串。如果是,我想删除该条目。这在Perl中很容易做到,但不确定我将如何在PHP中执行此操作。
答案 0 :(得分:4)
根据您阅读文件的方式,将决定您如何删除该条目。
使用fgets
:
$filtered = "";
$handle = fopen("/file.txt", "r");
if ($handle) {
// Read file line-by-line
while (($buffer = fgets($handle)) !== false) {
if (strpos($buffer, "replaceMe") === false)
$filtered .= $buffer;
}
}
fclose($handle);
filterArray($value){
return (strpos($value) === false);
}
// Read file into a string
$string = file_get_contents('input.txt');
$array = explode("\n", $string);
$filtered = array_filter($array, "filterArray");
使用file
:
function filterArray($value){
return (strpos($value) === false);
}
// Read file into array (each line as an element)
$array = file('input.txt', FILE_IGNORE_NEW_LINES);
$filtered = array_filter($array, "filterArray");
注意:如果整个条目包含一个单词,则每种方法都假定您要删除整个条目。