2017-01-07 69 views
0

我想將循環數據合併到JSON對象,每次我只得到循環的最後結果,所以我將該變量聲明爲一個數組,它會好起來,我得到了我的結果,但格式不正確,有額外的方括號,我不想要,因爲在前端解析時,它的創建問題。如何將循環數據添加到CI中的json對象?

下面我提供我的代碼。

{ 

    "status": "success", 
    "statusReason": "Favouritelist", 
    "result": { 
    "Favouritelist": [ 
     [ //want to remove this square bracket 
     { 
      "branch_id": "1234", 
      "branch_name": "avis1", 
      "branch_image": "uploads/avis.png", 
      "branch_gps": "12.9250,77.5938", 
      "branch_address": "eredfdf", 
      "branch_phone": "2147483647", 

     } 
     ],//want to remove this square bracket 
     [//want to remove this square bracket 
     { 
      "branch_id": "1234", 
      "branch_name": "avis1", 
      "branch_image": "uploads/avis.png", 
      "branch_gps": "12.9250,77.5938", 
      "branch_address": "eredfdf", 
      "branch_phone": "2147483647", 


     } 
     ]//want to remove this square bracket 
    ] 
    } 
} 

我的CI碼

foreach ($tempquery->result() as $res1){ 
     $car_id = $res1->car_id; 

     if(empty($timestamp)){ 

$this->db->select("IFNULL(branch.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,IFNULL(car_id,'') as car_id,IFNULL(cars.name,'') as car_name,IFNULL(cars.image,'') as car_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 car_rating,car_types.typename AS carType,cars.petrol_type,car_types.car_type_id,cars.delivery_charges,cars.services"); 
$this->db->from("branch"); 
$this->db->join("cars","branch.branch_id=cars.branch_id"); 
$this->db->join('car_types', 'cars.car_type_id = car_types.car_type_id'); 
$this->db->where("cars.car_id",$car_id); 
$this->db->where("branch.delete_status" , "false"); 
$this->db->where("cars.delete_status" , "false"); 
$car_details= $this->db->get(); 
$cdetail_new[]=$car_details->result(); ///added [] to mearge dat 


      } 

Response::code_200("Favouritelist", array("Favouritelist" => $cdetail_new)); 

任何一個可以給我建議,我哪裏做錯了..

感謝您在ADV

+0

嘗試取出'[]'從,像這樣'$ cdetail_new = $ car_details->結果();'將這項工作? –

+0

格式正常,但我只得到最後一行,有很多結果。 @Praveen Kumar – sradha

+0

哇,這很瘋狂。你能告訴var_dump($ car_details-> result())是什麼,可能問題出在哪裏? –

回答

2

貌似源與陣列擠滿了。這裏的result()函數可能會將它作爲一個數組來提供?

$car_details->result(); 

如果是這樣的話,你可能想在這裏打開它。你可以,如果你使用的是最新版的PHP使用這個符號:

$cdetail_new[] = $car_details->result()[0]; 

如果沒有,嘗試老之一:

$result = $car_details->result(); 
$cdetail_new[] = $result[0]; 

如果,您可以檢查,如果這是問題與否,即該result()通過使用給出與單個元件的陣列輸出:

$car_details = $this->db->get(); 
var_dump($car_details->result()); // Is this resulting as an array? 
die(); 
$cdetail_new[] = $car_details->result(); ///added [] to mearge dat 
+1

雅我得到這一個$ cdetail_new [] = $結果[0]; 我使用的是最低版本的PHP。所以我使用了第二個。 現在它對我來說很好,謝謝你 – sradha

相關問題