2016-11-10 9 views
0

定義済みのJSONの最後に新しいデータを追加しようとしています。 私は、既存のjsonの要素として新しいデータを追加したいと思います。私はデータがjsonの新しい要素として追加されていることを意味します。phpのjsonの最後に新しいデータを追加します

$jsonData = array(); 
if (!empty($json_mainQuot)) { 
    $jsonData['mainQuot'] = $json_mainQuot; 
} 
if (!empty($json_quotation_hotel)) { 
    $jsonData['quotation_hotel'] = $json_quotation_hotel; 
} 
$tempArray[] = json_decode($state_current_arr[0]['user_date']); 
array_push($tempArray, $jsonData); 
$jsonData_merged = json_encode($tempArray); 

それがこの

[{ 
    "id": "77", 
    "agent_id": "30524", 
    "raised_by": "C", 
    "from_date": "2016-11-09", 
    "to_date": "2016-11-10", 
    "num_of_days": "1", 
    "num_of_country": "1", 
    "LeadConsultant": { 
     "user_id": "3045", 
     "lead_id": "77" 
    }, 
    "LeadDestination": [{ 
     "from_date": "2016-11-09", 
     "to_date": "2016-11-10", 
     "country_id": "IN", 
     "city_id": "67457", 
     "notes": "", 
     "is_hotel": "1", 
     "is_sight": "1", 
     "is_transfer": "1", 
     "lead_id": "77" 
    }] 
}, { 
    "mainQuot": { 
     "supplier_markup": "0", 
     "lead_destination_id": "168", 
     "user_id": "1", 
     "quot_via": 0 
    }, 
    "quotation_hotel": { 
     "lead_quot_id": "36", 
     "hotel_id": "578917", 
     "giata_id": "531264", 
     "ratings": "3", 
     "address": "Opposite ST Stand,Alibag 402201", 
     "notes": "testing" 
    } 
}] 

のように見えるが、私はあなたがarray_pushの代わりにarray_merge必要がある。この

[{ 
    "id": "77", 
    "agent_id": "30524", 
    "raised_by": "C", 
    "from_date": "2016-11-09", 
    "to_date": "2016-11-10", 
    "LeadConsultant": { 
     "user_id": "3045", 
     "lead_id": "77" 
    }, 
    "mainQuot": { 
     "supplier_markup": "0", 
     "lead_destination_id": "168", 
     "user_id": "1", 
     "quot_via": 0 
    }, 
    "quotation_hotel": { 
     "lead_quot_id": "36", 
     "hotel_id": "578917", 
     "giata_id": "531264", 
     "ratings": "3", 
     "address": "Opposite ST Stand,Alibag 402201", 
     "notes": "testing" 
    }, 
    "LeadDestination": [{ 
     "from_date": "2016-11-09", 
     "to_date": "2016-11-10", 
     "country_id": "IN", 
     "city_id": "67457", 
     "notes": "", 
     "is_hotel": "1", 
     "is_sight": "1", 
     "is_transfer": "1", 
     "lead_id": "77" 
    }] 
}] 
+1

あなたはあなたが欲しいものを確認した場合jsonバリデーター、あなたが望むのは、有効なjson –

+0

実際には、あなたが得るのは有効なjsonではない –

+0

これは有効なjsonを参照してください –

答えて

1

ようにしたい:

<?php 

$state_current_arr = '{ "id": "77", "agent_id": "30524", "raised_by": "C", "from_date": "2016-11-09", "to_date": "2016-11-10", "LeadConsultant": { "user_id": "3045", "lead_id": "77" }, "LeadDestination": [ { "from_date": "2016-11-09", "to_date": "2016-11-10", "country_id": "IN", "city_id": "67457", "notes": ""}]}'; 

$jsonData = array(); 

    $jsonData['mainQuot'] = 'test'; 
    $jsonData['quotation_hotel'] = 'test'; 

$tempArray = json_decode($state_current_arr,true); 
$tempArray = array_merge($tempArray, $jsonData); 
$jsonData_merged = json_encode($tempArray); 

echo $jsonData_merged; 
+0

あなたが私の一日を保存したことに感謝!!! –

関連する問題