1

以下代码产生Unsupported operator types错误:

$data = $modelData + array_merge($data, $recordData);

但是,问题在于$modelData,$data$recordData都是数组。内容可以在这里找到:http: //bin.cakephp.org/view/1477154570

所以我不得不怀疑使用 + 运算符或其他一些潜在问题是否有限制。

编辑:确切的 php 版本:Win 7 64 位上的 PHP 5.3.10

4

2 回答 2

1

您正在尝试合并 2 个数组,然后与第三个数组合并。在我看来还可以。如果我遗漏了什么,请告诉我。这是您给定数据的经过尝试的代码。 http://codepad.org/hA654cQE

于 2012-05-13T17:48:16.473 回答
0

也许这是一个内置的语言特性而不是一个函数。所以它可能只接受变量形式的数组,而不是函数的结果。(虽然不确定。)

编辑

没有。测试了这段代码,它工作:

php > $a = array('w' => 'hello');
php > $b = array('x' => 'world');              
php > $c = array('y' => '!', 'z' => 1337);
php > $d = $a + array_merge($b, $c);
php > var_dump($d);
array(4) {
  ["w"]=>
  string(5) "hello"
  ["x"]=>
  string(5) "world"
  ["y"]=>
  string(1) "!"
  ["z"]=>
  int(1337)
}

在 PHP 5.4.3 CLI 上。拱Linux。

于 2012-05-13T17:38:20.833 回答