在php中内爆时参数无效
运行以下代码时,收到无效参数错误。我正在尝试更改在php中内爆时参数无效,php,arrays,Php,Arrays,运行以下代码时,收到无效参数错误。我正在尝试更改$info数组中一行的值,然后将其内爆,内爆其父数组,然后将整个shebang保存回它所在的位置 $rowpre = $_GET['row']; $newfieldvalue = $_GET['nfv']; $row = --$rowpre; $data = file_get_contents("temp.php"); $csvpre = explode("###", $data); $i = 0; foreach ( $csvpre AS
$info
数组中一行的值,然后将其内爆,内爆其父数组,然后将整个shebang保存回它所在的位置
$rowpre = $_GET['row'];
$newfieldvalue = $_GET['nfv'];
$row = --$rowpre;
$data = file_get_contents("temp.php");
$csvpre = explode("###", $data);
$i = 0;
foreach ( $csvpre AS $key => $value){
$i++;
if($i = $row){
$info = explode("%%", $value);
$info[$target] = $newfieldvalue;
$presave = implode("%%", $info);
}
}
$save = implode("###", $presave);
$fh = fopen("temp.php", 'w') or die("can't open file");
fwrite($fh, $save);
fclose($fh);
以下更新
$rowpre = $_GET['row'];
$newfieldvalue = $_GET['nfv'];
$target = $_GET['target'];
$row = --$rowpre;
$data = file_get_contents("temp.php");
$csvpre = explode("###", $data);
$i = 0;
foreach ( $csvpre AS $key => $value){
$i++;
if($i == $row){
$info = explode("%%", $value);
$info[$target] = $newfieldvalue;
$csvpre[$key] = implode("%%", $info);
}
}
$save = implode("###", $csvpre);
$fh = fopen("temp.php", 'w') or die("can't open file");
fwrite($fh, $save);
fclose($fh);
目标是所选行中我希望用newfieldvalue数据更新的字段。
$presave
包含最后处理的行(即字符串),而内爆
需要一个数组。要将行存储回原始数组,请更改:
$presave = implode("%%", $info);
致:
要将整个CSV数组转换为字符串,请更改:
$save = implode("###", $presave);
致:
还有一个问题:
if($i = $row){
应该是:
if($i == $row){
因为您希望比较变量,所以不分配
$i
$presave
包含最后处理的行(即字符串),而内爆
需要一个数组。要将行存储回原始数组,请更改:
$presave = implode("%%", $info);
致:
要将整个CSV数组转换为字符串,请更改:
$save = implode("###", $presave);
致:
还有一个问题:
if($i = $row){
应该是:
if($i == $row){
因为您希望比较变量,而不是分配$i
$save=内爆(“###,$pressave”)
此时,$presave
是一个字符串,应该是一个用于内爆的数组。创建一个数组,在其中推送$presave值,并内爆该值
$save=内爆(“###,$pressave”)
此时,
$presave
是一个字符串,应该是一个用于内爆的数组。创建一个数组,在其中推送$presave值,并内爆该值。它运行时没有错误,但似乎没有改变数组中$info[$target]=$newfieldvalue;其中定义了$target
。尝试打印循环中的$csvpre
数组,查看是否正在修改它。它运行时没有错误,但似乎没有更改数组中$info[$target]=$newfieldvalue处的行;其中定义了$target
。尝试打印循环中的csvpre
数组,查看是否正在修改它。