数组到字符串转换错误行11

时间:2014-11-14 07:56:45

标签: php arrays

我在第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));

1 个答案:

答案 0 :(得分:0)

我相信array_intersect仅用于一维数组,并且它试图将嵌套数组视为字符串以进行相等比较。但是查看文档会显示函数array_uintersect,您可以将自己的比较函数编写为回调函数。您没有提供有关要求的详细信息,但如果您这样做,我很乐意提供帮助