请查看下面我的代码。
$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);
我正在尝试使用两个数组,如您所见,在尝试将空数组与旧数组合并时,我收到如下警告:
Warning: array_merge(): Argument #2 is not an array
Warning: array_merge(): Argument #1 is not an array
我得到的输出是
array(2) { [0]=> int(1) [1]=> int(2) }
NULL
NULL
我无法解决这个问题,请帮忙。
最佳答案
传递给 array_merge()
的所有参数都必须是数组,并且 $referenceTable['val2']
不是数组,而是整数 3
。您可以将其转换为数组:
$testArray = array_merge($testArray, (array)$referenceTable['val2']);
或者将其放入数组[ ]
:
$testArray = array_merge($testArray, [ $referenceTable['val2'] ]);
或者,如果您实际上正在定义该变量:
$referenceTable['val2'] = array(3); // or [3]
关于php - 警告 : array_merge(): Argument #2 is not an array Warning: array_merge(): Argument #1 is not an array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37347205/