2017-01-29 6 views
0

私の応答コード:Laravelコントローラの子配列のキー値のペアにアクセスする方法は?

Shpping : [  
{ 
"id": "1", 
"name": "Dress", 
"deleted_at": null, 
"created_at": null, 
"updated_at": null, 
"minicomp": [ 
    { 
    "id": "1", 
    "cname": "basic", 
    "base_id": 44 
    }, 
    { 
    "id": "2", 
    "cname": "Shirt", 
    "base_id": 177444 
    }, 
    { 
    "id": "3", 
    "cname": "Pants", 
    "base_id": 444 
    } 
    ] 
} 
]; 

私は、その親の送料」です子配列「minicomp」内のすべてのオブジェクトののBASE_IDにアクセスしたいです。どうすればそれにアクセスできますか?

答えて

1

まずこの.Like json_decode()を使用してアレイにあなたのJSONを変換する...

$json =<your json>; 
$array = json_decode($json,true); 

Then 

echo $array['Shpping '][0]]['minicomp'][0]['id'];//outputs 1 

例:すべてのids.Without定義indexes.Useを取得するための

<?php 
$json = '[{ 
    "id": "1", 
    "name": "Dress", 
    "deleted_at": null, 
    "created_at": null, 
    "updated_at": null, 
    "minicomp": [{ 
     "id": "1", 
     "cname": "basic", 
     "base_id": 44 
    }, { 
     "id": "2", 
     "cname": "Shirt", 
     "base_id": 177444 
    }, { 
     "id": "3", 
     "cname": "Pants", 
     "base_id": 444 
    }] 
}]'; 
$array = json_decode($json,true); 
//print_r($array); 
$minicomp = $array[0]['minicomp']; 
echo $minicomp[0]['id']; 
echo $minicomp[1]['id']; 

?> 

UPDATE

foreachループ:

foreach($minicomp as $key=>$value){ 
echo $minicomp[$key]['id']."<br/>"; 
} 
+0

インデックス値を渡さずにすべての値をエコーし​​たい場合、つまりエコー中にインデックス値を直接取得する必要がある場合はどうすればよいですか。 @Hekマット – Mohammed

+0

foreachループを使用します。 –

+0

@Mohammed更新された回答を参照してください。 –

関連する問題