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つの配列をマージしてから、3番目の配列と結合しようとしています。私には大丈夫そうです。足りないものがあれば教えてください。これがあなたの与えられたデータで試されたコードです。 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 に答える