如何在PHP中使用一行的编号替换另一行

如何在PHP中使用一行的编号替换另一行,php,Php,希望你做得很好,我正在尝试实现一个脚本,这样我可以用它来替换文件中的另一行,我尝试了很多PHP脚本和Bash代码,但它们似乎都失败了,这里是我上次尝试的: function replace_a_line() { $line=3; //includes zero as 1. $newdata='this is a test 123'; $data=file('./txt.txt'); $data[$line]=$newdata."\r\n";

希望你做得很好,我正在尝试实现一个脚本,这样我可以用它来替换文件中的另一行,我尝试了很多PHP脚本和Bash代码,但它们似乎都失败了,这里是我上次尝试的:

function replace_a_line() {
    $line=3; //includes zero as 1.
    $newdata='this is a test 123';
    $data=file('./txt.txt');
    $data[$line]=$newdata."\r\n";
    $data=implode($data);
    file_put_contents('./txt.txt',$data);
}
我的文件名是txt.txt


提前谢谢你

我想你差不多做到了。不需要你自己引爆它。这是为你做的。 添加其他检查以确保行号在行号范围内,或将文本追加到末尾

<?php

function replace_a_line($line = 3,$new_str = 'Your text') {
    $data = file('test.txt');    
    if($line >= count($data)) $data[] = $new_str;
    else  $data[ $line - 1] = $new_str . "\n";
    return file_put_contents('test.txt', $data, LOCK_EX);
}

replace_a_line();

那么运行此函数时会发生什么?我希望你能在一行中得到全部内容。下面的答案有用吗?如果是,请勾选旁边的勾号,以便未来的研究人员知道这是一个有效的解决方案。