Php 删除json对象中索引为0的额外花括号

Php 删除json对象中索引为0的额外花括号,php,json,codeigniter,object,Php,Json,Codeigniter,Object,这里我想删除json对象中的一个花括号和一个零 我试了很多,但没有成功 下面我张贴我的代码,请看一看 { "responseCode": 200, "status": "success", "statusReason": "Home Details", "result": [ { "branch_details": { "0": { //this 0 index and one curly bracket "company

这里我想删除json对象中的一个花括号和一个零

我试了很多,但没有成功

下面我张贴我的代码,请看一看

{
  "responseCode": 200,
  "status": "success",
  "statusReason": "Home Details",
  "result": [
    {
      "branch_details": {
        "0": {  //this 0 index and one curly bracket
          "company_company_id": "12345",
          "company_name": "AVIS",
          "company_image": "uploads/avis.png",
          "company_gps": "12.3499,39.41454",
          "company_address": "dfdfhf",
          "company_phone": "8951177685",
          "company_rating": "0",
          "branch_id": "1234",
          "branch_name": "avis1",
          "branch_image": "uploads/avis.png",
          "branch_gps": "12.3499,39.41454",
          "branch_address": "eredfdf",
          "branch_phone": "6745745456465",
          "branch_rating": "0"
        },//this curly bracket
        "car_details": [
          {
            "car_id": "123",
            "name": "audi",

          },
          {
            "car_id": "14782",
            "name": "bmw",

          },
          {
            "car_id": "14781",
            "name": "nano",

          },
          {
            "car_id": "14783",
            "name": "bmw",

          }
        ]
      }
    },
    {
      "branch_details": {
        "0": {//this 0 index and one curly bracket
          "company_company_id": "12345",
          "company_name": "AVIS",
          "company_image": "uploads/avis.png",
          "company_gps": "12.3499,39.41454",
          "company_address": "dfdfhf",
          "company_phone": "8951177685",
          "company_rating": "0",
          "branch_id": "1478",
          "branch_name": "hertz1",
          "branch_image": "uploads/company2.png",
          "branch_gps": "12.3499,39.41454",
          "branch_address": "sfgsdfg",
          "branch_phone": "sdfgsdfgsdgf",
          "branch_rating": "0"
        },//this curly bracket
        "car_details": []
      }
    }
  ]
}
在这里,我想删除一对花括号和一个零索引,但我无法做到这一点

代码

这个代码在一个for each中,我发布了其中的一部分

$this->db->select("IFNULL(company.company_id,'') as company_company_id,IFNULL(company.name,'') as company_name,IFNULL(company.image,'') as company_image,IFNULL(company.gps,'') as company_gps,IFNULL(company.address,'')as company_address,IFNULL(company.phone,'')as company_phone,(select IFNULL(avg(rating),0) from company_rating where user_id='$user_id'  and delete_status ='false' )as company_rating,IFNULL(branch_id,'') as branch_id,IFNULL(branch.name,'') as branch_name,IFNULL(branch.image,'') as branch_image,IFNULL(branch.gps,'') as branch_gps,IFNULL(branch.address,'')as branch_address,IFNULL(branch.phone,'')as branch_phone,(select IFNULL(avg(rating),0) from branch_rating where user_id='$user_id'  and delete_status ='false' )as branch_rating");

$this->db->from("branch");
$this->db->join("company","branch.company_id=company.company_id");
$this->db->where("branch.branch_id",$branch_id);
$this->db->where("branch.delete_status" , "false");
$this->db->where("company.delete_status" , "false");
$tempquery111 = $this->db->get();

$temp1['branch_details'] = $tempquery111->result();


$this->db->select("IFNULL(car_id,'') as car_id,IFNULL(name,'') as name,IFNULL(image,'') as image,IFNULL(model,'') as model,IFNULL(price,'')as price,IFNULL(year,'')as year,IFNULL(type,'')as type,IFNULL(`no_of_seats`,'')as `no_of_seats`,IFNULL(`gear_type`,'') as `gear_type`,IFNULL(color,'') as color,insurance,status,IFNULL(description,'') as description,(select IFNULL(avg(rating),0) from car_rating where user_id='$user_id'  and delete_status ='false' )as rating");

$car_details = $this->db->get_where("cars",array("cars.branch_id" =>$branch_id ,"delete_status" => "false"));
$temp1['branch_details']['car_details'] = $car_details->result(); 

array_push($tempquery11,$temp1);

有人能提出建议吗?

在codeigniter中,当查询数据库时,
result()
将返回一个数组(即使只有一个结果),而
row()
将返回一行

尝试更改
$car\u details->result()
$car_details->row()

抱歉,我误读了json对象。我应该说改变

$tempquery111->result()
$tempquery111->row()

编辑:

尝试这样设置数组

如果它适用于company\u company\u id,那么它将适用于整件作品,您只需对每件作品执行相同的操作

$temp1['branch_details']['company_company_id'] = $tempquery111->result()->company_company_id;

我相信有更好的方法可以做到这一点,但就我个人而言,我现在想不起来

那么,
$tempquery11
是在哪里创建的呢?我正在进行数组推送,这里有一些要求。@riggsfullyi会说您要删除的
“0”:{..}
实际上是第一个分支细节的数组索引。我猜如果数组中有另一个分支,那么它前面会有
“1”:{……}
我不懂这种语言,因此无法提供详细信息,但建议您最好接受这一点,并将注意力集中在JSON的消费者身上,这样可以很容易地预处理以您想要的方式提取分支细节。但它会显示一些错误,如。致命错误:无法将stdClass类型的对象用作数组in@sradha嗯-我已经更新了我的答案,它应该可以解决这个问题,但我不认为这是最好的方法。希望其他人也能加入进来。