1
在php中是否有與PERL的TIE相當的功能?我想查看一個字符串(單個單詞)是否在每行都是單個字符/字符串的文件中。如果是,我想刪除條目。這在Perl中很容易實現,但不確定如何在PHP中執行此操作。PHP的等效Perl的TIE
在php中是否有與PERL的TIE相當的功能?我想查看一個字符串(單個單詞)是否在每行都是單個字符/字符串的文件中。如果是,我想刪除條目。這在Perl中很容易實現,但不確定如何在PHP中執行此操作。PHP的等效Perl的TIE
根據您閱讀文件的方式將決定如何刪除條目。
使用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");
注意:每種方法都假定您想要刪除整個條目(如果它包含單個單詞)。
在第一種方法中,我不一致 - 我將這些單詞追加到一個字符串中。要附加到數組,請聲明'$ filtered = array()'並使用'$ filtered []'而不是'$ filtered。='追加。 – Josh
如果包含單個單詞,或者從每個條目/行中刪除單個單詞,是否要刪除整個條目/行? – Josh
整行,但只是因爲我將只有一個單詞/條目每行。 – WildBill