请查看下面的代码。
$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
我无法解决这个问题,帮助表示感谢。
答案 0 :(得分:4)
传递给array_merge()
的所有参数都需要是数组,$referenceTable['val2']
不是数组,而是整数3
。您可以将其强制转换为数组:
$testArray = array_merge($testArray, (array)$referenceTable['val2']);
答案 1 :(得分:0)
$referenceTable['val2']
是一个int而不是一个数组,声明$ referenceTable像这样是数组:
<强> PHP 强>
$referenceTable['val2'] = [3];
应该有用。
答案 2 :(得分:0)
打破这个
https://www.googleapis.com/identitytoolkit/v3/relyingparty/verifyPassword
这里的问题是
$testArray = array_merge($testArray, $referenceTable['val2']);
$referenceTable['val2'] = 3;
不是数组。将它设置为一个数组,它的工作原理
3
至于为何失败
$referenceTable['val2'] = array(3);
您运行了上一个语句,该语句将$testArray = array_merge($testArray, $referenceTable['val3']);
设置为$testArray
,这也不是数组
答案 3 :(得分:0)
好的,我能够解决此问题,并且在尝试进行作曲家更新时发生了此问题。 该命令不起作用,仅损坏了
中的Service.json文件/var/www/html/app/storage/meta
所以您需要做的是删除service.json文件,并用新的文件替换它,或者执行composer install命令。
该网站现在在https://www.codemint.net上运行良好
答案 4 :(得分:-2)
$referenceTable['val2']
不是数组,而是整数3.
您可以强制转换为数组或多个数组:
$testArray = array_merge($testArray, array($referenceTable['val2']));