简体   繁体   English

我如何使用php获取json对象的数组?

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

This is my code for obtaining the json format data.But it is not in the exact format what i required. 这是我获取json格式数据的代码,但它不是我要求的确切格式。 Can anyone help me to solve this. 谁能帮我解决这个问题。

 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)));

The result of the above code is like this in the json format 上面代码的结果是这样的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"
}

}

But i want the result in the following format 但是我想要以下格式的结果

{
 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"
   }

}

Can anyone please help me to solve this 谁能帮我解决这个问题

You should rebuild your array's to get the desired output. 您应该重建阵列以获得所需的输出。 Try to replace your last line of code with the following: 尝试用以下代码替换最后一行代码:

$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