最初,我的脚本根据放置在URL中的某些参数来获取和解码JSON,然后将这些值插入到数组中并重新编码为JSON。我必须提出两个独立的请求,一个用于facebook和一个两个instagram,并合并输出数据。我的问题是两个数组似乎并不合并,只输出array_merge函数中的最后一个数据集。合并两个数据集PHP
$igjsonData = json_decode((file_get_contents($igurl)));
$fbjsonData = json_decode((file_get_contents($fburl)));
$igresponse = array();
$igresponse["data"] = array();
foreach ($igjsonData->data as $igkey=>$igvalue) {
$igdata = array();
$igdata["network"] = "instagramicon.png";
$igdata["createdtime"] = $igvalue->caption->created_time;
$igdata["username"] = $igvalue->caption->from->username;
$igdata["profileimage"] = $igvalue->caption->from->profile_picture;
$igdata["caption"] = $igvalue->caption->text;
$igdata["postimage"] = $igvalue->images->standard_resolution->url;
array_push($igresponse["data"], $igdata);
}
$fbresponse = array();
$fbresponse["data"] = array();
foreach ($fbjsonData->data as $fbkey=>$fbvalue) {
$fbdata = array();
$fbdata["createdtime"] = $fbvalue->created_time;
$fbdata["username"] = $fbvalue->from->name;
$data["profileimage"] = "profile_picture";
$fbdata["caption"] = $fbvalue->message;
$data["postimage"] = "postimage";
array_push($fbresponse["data"], $fbdata);
}
$output = array_merge($igresponse, $fbresponse);
echo $output;
我需要或者合并后的数据已被重新编码为JSON,或重新编码之前将它们合并为数组,我希望能够在顺序排列的数据创造时间,如果有人知道如何做到这一点。不太确定这里的问题实际上是什么。
我已经部分地得到它的工作,而不是使用'数组'功能,但是仍然想知道如何在我的新数组中创建时间组织。
$output["data"] = array_merge($igresponse, $fbresponse);
$array = $output["data"];
echo json_encode($array);