2017-01-07 5 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

フォーマットはうまくいきますが、私は最後の行しか得ていません。結果はたくさんあります。 @プラベーン・クマール – sradha

+0

うわー、これはクレイジーです。 'var_dump($ car_details-> result())'が何であるかを知ることができますか?問題はソースである可能性がありますか? –

答えて

2

にありがとう..私は間違ってやっているところは、私にいずれかをお勧めすることができ、ソースのように見えます配列でパックされています。ここでresult()の機能は、おそらく配列としてそれを与える?

$car_details->result(); 

この場合、ここでアンラップします。あなたがPHPの最新バージョンを使用している場合は、この表記を使用することができます。

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

がない場合は、してみてください古い1:

$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 [] = $ result [0]; 私はphpの最低バージョンを使用しています。私は2番目のバージョンを使用しました。 今度はそれが私のためにうまくいく。たくさんありがとう – sradha

関連する問題