我有两个数组,或者我想。一个通过POST将Javascript对象传递给php,另一个从JS API返回另一个对象的数据。我想加入这两个数组。这是样本数据及其获取方式。
我从API获得的名称数组: -
array(5) { [0]=> string(1) "D" [1]=> string(1) "a" [2]=> string(1) "v" [3]=> string(1) "i" [4]=> string(1) "d" }
用户数组,它是我的PHP脚本的POST: -
array (
'userID' => '12345',
'time' => 'Monday 26th June 2017 22:12:37 AM',
)
现在我使用以下内容(尝试)并将这两部分数据放入同一个数组中以记录到文件中。
$nameoriginal = file_get_contents("/api");
$namejson = json_decode($name);
$user = var_export($_POST, true);
$detailstolog = $namejson + $user;
file_put_contents('/logs/names.log', $detailstolog);
但是,我收到一个php错误,指出第一个参数不是有效数组(即$ name无效)。为什么是这样?我能做些什么才能做到'它是一个阵列?
我认为名字'阵列'实际上是一个字符串,因此错误。我如何使这个数组,$ array1 + $ array2是最好的方法吗?
我正在尝试创建类似的东西: -
array (
'name' => 'david',
'userID' => '12345',
'time' => 'Monday 26th June 2017 22:12:37 AM',
)
感谢您提供的任何帮助!
答案 0 :(得分:0)
很抱歉,但我不明白这里涉及JSON的位置,你正在处理数组,因此无需从JSON中解码任何内容。
第一个数组似乎是“大卫”这个词分成了字符。然后你只需要implode
并将它作为第一个元素添加到detailstolog
数组中:
$detailstolog['name'] = implode("", $nameoriginal); // David
$detailstolog += $_POST;
答案 1 :(得分:0)
将$_POST
数组复制到新变量,然后将名称添加到其中。
$detailstolog = $_POST;
$name = implode('', $namejson);
$detailstolog['name'] = $name;