请看看我下面的代码。
$referenceTable = array();
$referenceTable['val1'] = array(1, 2);
$referenceTable['val2'] = 3;
$referenceTable['val3'] = array(4, 5);
$testArray = array();
$testArray = array_merge($testArray, $referenceTable['val1']);
var_dump($testArray);
$testArray = array_merge($testArray, $referenceTable['val2']);
var_dump($testArray);
$testArray = array_merge($testArray, $referenceTable['val3']);
var_dump($testArray);
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我试图使用两个数组,在尝试将空数组与旧数组合并时,我收到了警告
Warning: array_merge(): Argument #2 is not an array
Warning: array_merge(): Argument #1 is not an array
Run Code Online (Sandbox Code Playgroud)
我得到的输出是
array(2) { [0]=> int(1) [1]=> int(2) }
NULL
NULL
Run Code Online (Sandbox Code Playgroud)
我无法解决这个问题,感谢帮助。
传递给的所有参数都array_merge()必须是数组,$referenceTable['val2']而不是数组,而是整数3。您可以将其转换为数组:
$testArray = array_merge($testArray, (array)$referenceTable['val2']);
Run Code Online (Sandbox Code Playgroud)
或者把它放在一个数组中[ ]:
$testArray = array_merge($testArray, [ $referenceTable['val2'] ]);
Run Code Online (Sandbox Code Playgroud)
或者,如果您实际上是在定义该变量:
$referenceTable['val2'] = array(3); // or [3]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24329 次 |
| 最近记录: |