2015-02-05 4 views
1

이 그것은 다음과 같은 개체json 객체를 PHP로 배열에 배치하는 방법은 무엇입니까?

[ 
{ 
"id": "1111", 
"image_urls": [ 
    "https://docs.google.com/document/d/14kVqw9d2kzYIEClN-SVp2Co2mlglM9F-8HIy0ggTZ3g/edit", 
    "http://stackoverflow.com/questions/21762150/how-do-i-insert-data-from-a-json-array-into-mysql-database", 
    "https://drive.google.com/?authuser=0#my-drive", 
    "https://drive.google.com/?tab=mo&authuser=0#shared-with-me" 
], 

"0": { 
    "user_id": "111", 
    "short_image_url": "chrome://restclient/content/thumbnails/restclient_t.jpg" 
}, 
"1": { 
    "user_id": "321", 
    "short_image_url": "chrome://restclient/thumbnails/restclient_t.jpg" 
}, 
"2": { 
    "user_id": "1234", 
    "short_image_url": "http://54.169.40.195/wheel/wheel/service/testing/chetan/audio/c71dfe45421b2864476a0bde257f0a57e72084783ce859e26595599670904907.mp3" 
} 
} 
] 

을 반환

if($status==1) 
    { 
     $post_id=$json_object['post_id']; 

     $get_postid=mysqli_query($con,"select * from User_Post where post_id='$post_id'"); 
     if(mysqli_num_rows($get_postid)==0) 
     { 

      //For failure status if session id is wrong. 
      http_response_code(500); 
      echo json_encode(array("error_code"=>"500","error_message"=>"Sorry, post id does not exists.")); 
     } 
     else 
     { 
     foreach($field_check as $values) 
     { 
      if($values=='id') 
      { 
       $row_array = array(); 
       while ($row = $get_postid->fetch_array()) 
       { 
        $row_array['id']=$row['post_id']; 
        $row_array['image_urls']=explode(',',$row['post_image_url']); 
        $storetag= explode(',',$row['Post_tagged_id']); 
        $has_liked="false"; 
        $has_commented="false"; 

       } 

      } 
      elseif($values=='tagged_users') 
      { 

       while ($row = $get_postid->fetch_array()) 
       { 
        $storetag= explode(',',$row['Post_tagged_id']); 
        $has_liked="false"; 
        $has_commented="false"; 
       } 
       for($i=0;$i<count($storetag);$i++) 
       { 

        $user=mysqli_query($con,"select user_id, profile_image_url from Wheel_User where user_id='$storetag[$i]'"); 

        if(mysqli_num_rows($user)==0) 
        { 
         //For failure status if session id is wrong. 
         http_response_code(500); 
         echo json_encode(array("error_code"=>"500","error_message"=>"Sorry, post id does not exists.".die())); 
        } 

        else 
        { 

         while ($row = $user->fetch_array()) 
         { 

          $tagged_users[$i]['user_id']=$row['user_id']; 
          $array['user_id']=$tagged_users[$i]['user_id']; 
          $pro_image_url[$i]=$row['profile_image_url']; 
          $short_image_url[$i]=str_replace('_b','_t',$pro_image_url[$i]); 
          $short_image_url[$i]=str_replace('/images/','/thumbnails/',$short_image_url[$i]); 
          $array['short_image_url']=$short_image_url[$i]; 

         } 

        } 

        array_push($row_array,$array); 

       } 

      } 

     } 

      array_push($json_response,$row_array); 
      echo str_replace('\/','/',json_encode($json_response)); 
    } 
} 

JSON 형식의 데이터를 얻기 위해, 내 PHP 코드입니다하지만 난이

[ 
    { 
    "id": "1111", 
    "image_urls": [ 
    "https://docs.google.com/document/d/14kVqw9d2kzYIEClN-SVp2Co2mlglM9F-8HIy0ggTZ3g/edit", 
    "http://stackoverflow.com/questions/21762150/how-do-i-insert-data-from-a-json-array-into-mysql-database", 
    "https://drive.google.com/?authuser=0#my-drive", 
    "https://drive.google.com/?tab=mo&authuser=0#shared-with-me" 
    ], 

"tagged_users":[ 
"0": { 
    "user_id": "111", 
    "short_image_url": "chrome://restclient/content/thumbnails/restclient_t.jpg" 
}, 
"1": { 
    "user_id": "321", 
    "short_image_url": "chrome://restclient/thumbnails/restclient_t.jpg" 
}, 
"2": { 
    "user_id": "1234", 
    "short_image_url": "http://54.169.40.195/wheel/wheel/service/testing/chetan/audio/c71dfe45421b2864476a0bde257f0a57e72084783ce859e26595599670904907.mp3" 
} 
] 
처럼 그 배열에 이름을 할당 할

} 이 배열 이름을 어디에 추가해야할지 모르겠다. 이 문제를 해결하도록 도와주세요. 이 같은

array_push($row_array['tagged_users'],$array); 

또는 정의 - -

$row_array['tagged_users'] = array(); 

그리고 모든을 $의 row_array도 함께 시도 다른 데이터

echo str_replace('\/','/',json_encode(array("tagged_user"=>$json_response)); 

답변

0

포함되어 있기 때문에 이 같은 배열 이름을 할당 할 수 없습니다 가치는 당신이 원하는대로 될 것입니다.

array_push($json_response,array("tagged_users" => $row_array)); 

편집을 두 번째 부분을 제거 : 마지막 줄에 두 번째에

+0

나는 그것을 시도했지만 "array_push() 매개 변수 1 배열, 널 기대하고있다" – Mad

+0

그리고 row_array 이미 두 개의 값이 더 포함되어 있으므로 행 배열에 이름을 할당하면 다음 이름을 할당합니다 전체 json 배열. 내가 뭐라 말하고 있는지 이해했으면 좋겠어. – Mad

+0

어디에서'$ row_array'를 정의합니까? –

0

이 당신이 원하는 무엇을해야합니다.

+0

업데이트했습니다. 이제 전체 코드를 업로드했습니다. 이제 명확한 그림을 얻을 수 있기를 바랍니다. – Mad

+0

두 번째 제거 이 코드의 일부는 당신을 위해 작동해야합니다 – Asheliahut

+0

완벽하게 작동하지만 tagged_user는 "tagged_user"와 같은 배열이어야합니다 : [............ .....] – Mad

관련 문제