मेरा कोड:

$finalArray = json_encode($loanTypeCount);

आउटपुट:

[{"name":"Salary","y":"6"},{"name":"Emergency","y":"1"}]

वांछित आउटपुट:

[{"name":"Salary","y":6, "selected": true},{"name":"Emergency","y":1, "selected": true}]

सम्मिलित किया गया "selected": true कुंजी मान युग्म। लार्वेल/php में इसे करने का तरीका क्या है?

-1
Eli 21 सितंबर 2021, 18:48

3 जवाब

सबसे बढ़िया उत्तर

यदि यह एक संग्रह उदाहरण है, तो आप इसे map() के साथ कर सकते हैं

$loanTypeCount->map(function($loan) {
    $loan->selected = true;
    return $loan;
});
1
N69S 21 सितंबर 2021, 18:54

N69S' समाधान के आधार पर, यहां एक उदाहरण संग्रह उदाहरण के बजाय JSON एन्कोडेड स्ट्रिंग से शुरू होता है और एक संशोधित के साथ समाप्त होता है .

$json = '[{"name":"Salary","y":"6"},{"name":"Emergency","y":"1"}]';

$arr = collect(json_decode($json, true))
    ->map(function ($item, $key) {
        $item['selected'] = true;

        return $item;
    })
    ->toJson();
1
Dan 21 सितंबर 2021, 18:58

शुद्ध PHP के साथ सरल समाधान:

$json = '[{"name":"Salary","y":"6"},{"name":"Emergency","y":"1"}]';

$obj=json_decode($json);
$obj[0]->selected = true;
$obj[1]->selected = true;

$newJson = json_encode($obj);
//[{"name":"Salary","y":"6","selected":true},{"name":"Emergency","y":"1","selected":true}]

वैकल्पिक रूप से foreach के साथ:

$json = '[{"name":"Salary","y":"6"},{"name":"Emergency","y":"1"}]';

foreach($obj=json_decode($json) as $key => $item){
  $obj[$key]->selected = true;
}

$newJson = json_encode($obj);
//[{"name":"Salary","y":"6","selected":true},{"name":"Emergency","y":"1","selected":true}]
0
jspit 21 सितंबर 2021, 19:48