0
두 배열을 병합하려고합니다. 다른 방법으로 여러 번 해봤지만 작동하지 않습니다. 이유가 무엇인지 모르겠지만 모양이있는 경우 솔루션을 얻을 수 있습니다. !! !!아무것도 작동하지 않을 때 두 배열을 병합하는 방법?
PHP FYLE는
<?php
require_once('php-sdk/facebook.php');
include("conex.phtml");
$config = array(
'appId' => 'xxxxxxxxxx',
'secret' => 'xxxxxxxxxxxxx',
);
$facebook = new Facebook($config);
$user_id = $facebook->getUser();
global $output;$output = array();
global $result;$result = array();
global $ret_obj_place;$ret_obj_place = array();
global $ret_obj_page2;$ret_obj_page2 = array();
global $pic_square;$link=Conectarse();
if($user_id) {
$user_id=$_GET['user_id'];
$page_id=$_GET['page_id'];
$result=mysql_query("SELECT * FROM places WHERE page_id=" . $page_id, $link);
if ($result){} else {
try {
$fqlPlace = 'SELECT page_id,name,description,geometry,latitude,longitude,checkin_count,display_subtext FROM place WHERE page_id=' . $page_id;
$ret_obj_place = $facebook->api(array(
'method' => 'fql.query',
'query' => $fqlPlace,
));
///////////////////////////////////////////////////////////
$fqlPage = 'SELECT pic_square, pic_big, fan_count, type FROM page WHERE page_id=' . $page_id;
$ret_obj_page2 = $facebook->api(array(
'method' => 'fql.query',
'query' => $fqlPage,
));
**//$output = array_merge($ret_obj_place, $ret_obj_page2);
$union = array_merge($ret_obj_place, $ret_obj_page2);
$union = array_map('serialize', $union);
global $data = array();
foreach (array_unique($union) as $v) {
$data[] = unserialize($v);**
}
//$union = array_merge($ret_obj_place, $ret_obj_page2);
//$output = array_values(array_map("unserialize", array_unique(array_map("serialize", $union))));
displayResult($result, $output, $data);
/////////////////////////////////////////
} catch(FacebookApiException $e) {
$login_url = $facebook->getLoginUrl();
echo 'Please <a href="' . $login_url . '">login.</a>';
error_log($e->getType());
error_log($e->getMessage());
}}} else {
$login_url = $facebook->getLoginUrl();
echo 'Please <a href="' . $login_url . '">login.</a>';
}
function displayResult($results, $output, $data){
echo '' . json_encode($data) . '';
}
mysql_close($link);
exit();
?>
각 배열의 직접 출력은 1
[{"page_id":"111812165504902","name":"Sevilla","description":"Seville is a Spanish city, Spain.","geometry":{"type":"Point","coordinates":["-5.98694","37.3772"]},"latitude":"37.3772","longitude":"-5.98694","checkin_count":"2083255","display_subtext":"City"}]
어레이 2
[{"pic_square":"https:\/\/fbexternal-a.akamaihd.net\/safe_image.php?d=AQALHDy62kBNTCO=q","pic_big":"https:\/\/fbexternal-a.akamaihd.net\/safe_image.php?d=AQA9I5AOB1ekj1OB&w=d","fan_count":"83323","type":"CITY"}]
내가 individualy 확인이
ARRAY 등 무언가 resu lts는 javascript에 배열을 보내면 모든 것이 정상적으로 보이지만 결합하려고하면 두 번째 배열에 포함 된 데이터는 "정의되지 않음"입니다. 어떤 생각
나는 페이스 북의 API를 사용하는 방법에 대해 아무것도 몰라하지만 그들은 이미 변환되지 않는 경우 ... 당신이 보이고있다 배열이하는 JSON 형식으로되어 있습니다 당신이'json_decode ($ results, true);를 실행할 필요가있는 배열에''-'true'는 객체가 아닌 배열을 반환한다는 것을 알았다. 그런 다음 병합에 문제가 없어야합니다. – mic
나는 배열 1과 배열 2가 배열 형식이 아닐 것이라고 생각한다. json 형식과 같은 모양 일 수 있습니다. 배열로 변환 한 다음 array_merge를 적용하십시오. – Fisherman