$file = file($dir);
$string = 'mystring';
foreach($file as $key=>$value) {
if(!strcmp($value, $string)) {
unset($file[$key]);
}
}
为什么只设置最后一个字符串以及如何修复它?如何删除文件中的行(PHP)
$file = file($dir);
$string = 'mystring';
foreach($file as $key=>$value) {
if(!strcmp($value, $string)) {
unset($file[$key]);
}
}
为什么只设置最后一个字符串以及如何修复它?如何删除文件中的行(PHP)
注: 所得数组中的每一行都将包括结束行,除非FILE_IGNORE_NEW_LINES被使用,所以你仍然需要使用RTRIM(),如果你不想让行结束当前做。
所以,要么:
$file = file($dir,FILE_IGNORE_NEW_LINES);
或者:
if(!strcmp(rtrim($value), $string)) {
可能会工作(假设后的新行确实是原因,为什么他们不匹配,直到最后一行)。
这是有点不清楚你想达到什么。 Strcmp只比较两个字符串,并返回第一个字符串是否大于第二个字符串。
的未设置是要走的路,一旦你的文件符合选择删除
要与前两次走,在两端忽略空白,这可能是更你在找什么为:
if(trim($value) !== $string) {
非常感谢。 – 10minutee