簡體   English   中英

我如何使用php獲取json對象的數組?

[英]How can i get the array of json object using php?

這是我獲取json格式數據的代碼,但它不是我要求的確切格式。 誰能幫我解決這個問題。

 while ($row = $get_postid->fetch_array())
            {
                $comment_id[]=$row['comment_id'];
                $id[]=$row['post_id'];
                $user_id[]=$row['user_id'];
                $comm_description[]=$row['comment_description'];
                $time[]=$row['creation_date'];


            }

            for($i=0;$i<count($user_id);$i++)
            {

                $user=mysqli_query($con,"select * from Wheel_User where user_id='$user_id[$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())
                    {

                        $users[$i]['id']=$row['user_id'];
                        $pro_image_url[$i]=$row['profile_image_url'];
                        $users[$i]['title']=$row['user_name'];
                        $users[$i]['about_user']="";
                        $short_image_url[$i]=str_replace('_b','_t',$pro_image_url[$i]);
                        $short_image_url[$i]=str_replace('/images/','/thumbnails/',$short_image_url[$i]);
                        $users[$i]['short_image_url']=$short_image_url[$i];
                    }
                }  
            }


        echo str_replace('\/','/', json_encode(array("id"=>$id,"description"=>$comm_description,"time"=>$time,"user"=>$users)));

上面代碼的結果是這樣的json格式

{
 id: [3]
  0:  "1000"
  1:  "1000"
  2:  "1000"

description: [3]
  0:  "hai hello bye"
  1:  "helloooooo"
  2:  "haiiiiiii"

time: [3]
  0:  "0000-00-00 00:00:00"
  1:  "0000-00-00 00:00:00"
  2:  "0000-00-00 00:00:00"

user: [3]
 0:  {
    id: "1234"
   title: "chetan"
   about_user: ""
   short_image_url: "http://54.169.40.195/wheel/wheel/service/testing/chetan/audio/c71dfe45421b2864476a0bde257f0a57e72084783ce859e26595599670904907.mp3"
   }
   1:  {
   id: "4321"
   title: ""
   about_user: ""
   short_image_url: "http://localhost/phpmyadmin/#PMAURL-26:tbl_change.php?db=wheel&table=Wheel_User&server=1&target=&token=9f24bb1783394ac86321c4f15ceacf7a"
  }
  2:  {
  id: "5678"
  title: "dinesh"
  about_user: ""
  short_image_url: "http://localhost/phpmyadmin/#PMAURL-24:tbl_change.php?db=wheel&table=Wheel_User&server=1&target=&token=9f24bb1783394ac86321c4f15ceacf7a"
}

}

但是我想要以下格式的結果

{
 id:"1000",
 description:"post details of user",
time:"0000-00-00 00:00:00",      
user:{
    id: "1234"
   title: "chetan"
   about_user: ""
   short_image_url: "http://54.169.40.195/wheel/wheel/service/testing/chetan/audio/c71dfe45421b2864476a0bde257f0a57e72084783ce859e26595599670904907.mp3"
   }

}
{
 id:"1000",
 description:"post details of user",
time:"0000-00-00 00:00:00",      
user: {
    id: "4321"
   title: "prasanna"
   about_user: ""
   short_image_url: "http://54.169.40.195/wheel/wheel/service/testing/chetan/audio/c71dfe45421b2864476a0bde257f0a57e72084783ce859e26595599670904907.mp3"
   }

}

誰能幫我解決這個問題

您應該重建陣列以獲得所需的輸出。 嘗試用以下代碼替換最后一行代碼:

$objectArray = array();
for($i=0;$i<count($id);$i++) {
    $objectArray[$i]['id'] = $id[$i];
    $objectArray[$i]['description'] = $comm_description[$i];
    $objectArray[$i]['time'] = $time[$i];
    $objectArray[$i]['user'] = $users[$i];
}

echo str_replace('\/','/', json_encode($objectArray)));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM