我在第11行得到了错误数组到字符串转换错误 我需要将$ result数组与$ file数组进行比较,然后用$ result数据写入FILE。换句话说,FILE及其包含的数据不断使用$ result
进行更新比较 - >覆盖 - >下次执行时重复。
注意:.db文件在第一个循环时为空,但在第一次写入时会填充。
带有Array to string转换错误的示例代码:
<?php
$id = $argv[1]; //variable for inbound
$result = array(
'return' => array(
array(1,2,3),
array(6,2,3),
array(3,2,3),
)
);
function getdiff($new, $old) {
$diff = array_intersect($new, $old);
return $diff;
}
$old = file_exists('1.db') ? json_decode(file_get_contents('1.db'), 1) : array();
$arrayDiffresult = getdiff( $result, $old);
file_put_contents('1.db', json_encode($result));
print_r(
getdiff($result, $old)
);
?>
我有第二种方法,我在比较点第9行得到了相同的错误。
$result = array(
'return' => array(
array(1,2,3),
array(5,2,3),
array(3,2,3),
)
);
$lines = file("myDB.db");
$arrayDiffresult = array_diff ( $result['return'], $lines);
file_put_contents('myDB.db', print_r($result['return'], true));
答案 0 :(得分:0)
我相信array_intersect仅用于一维数组,并且它试图将嵌套数组视为字符串以进行相等比较。但是查看文档会显示函数array_uintersect
,您可以将自己的比较函数编写为回调函数。您没有提供有关要求的详细信息,但如果您这样做,我很乐意提供帮助