

$parentArrという配列があります。この中から特定のJSONの配列を取得し、連想配列にしたいのですがうまくいきません

[code]

    print_r($parentArr );
    
[/code]

結果↓

[code]

    Array
    (
    [id] => 1
    [company_id] => 2
    [fruits] => {"apple": 4"peach": 2,"orange": 1}
    );
    
[/code]

ここから fruits を取り出し、$fruitArray = ['apple'=>4, 'peach'=>1, 'orange'=>1]としたい。

[code]

    $fruitArray =json_decode($parentArr["fruits"],true);
    print_r($fruitArray );
    
[/code]

結果

[/code]

[code]

何も表示されません。


CC BY-SA 4.0
2022-06-10T07:37:07.143
89316
2022-06-10T08:04:28.633
45215
question
php laravel
json_decodeがうまく機能しない　特定のJSONを取り出し連想配列にしたい。


それはおかしいですね。下記のコードは期待どおりの結果になると思うので、何が違っているのか、比較してみてください。

[code]

    <?php
    $json = json_encode(array("apple" => 4, "peach" => 2, "orange" => 1));
    $parentArr = array("id" => 1, "company_id" => 2, "fruits" => $json);
    print_r($parentArr);
    $fruitArray =json_decode($parentArr["fruits"], true);
    print_r($fruitArray);
    
[/code]

結果

Array  
(  
[id] => 1  
[company_id] => 2  
[fruits] => {"apple":4,"peach":2,"orange":1}  
)  
Array  
(  
[apple] => 4  
[peach] => 2  
[orange] => 1  
)


CC BY-SA 4.0
2022-06-10T08:04:28.633
89317
2022-06-10T08:04:28.633
45045
89316
answer