Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在Laravel控制器中访问子数组键值对?_Php_Multidimensional Array_Laravel 5 - Fatal编程技术网

Php 如何在Laravel控制器中访问子数组键值对?

Php 如何在Laravel控制器中访问子数组键值对?,php,multidimensional-array,laravel-5,Php,Multidimensional Array,Laravel 5,我的回应码: 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": 177

我的回应码:

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
   } 
  ]
 }
];

我想访问父数组为“Shipping”的子数组“minicomp”中每个对象的基本id。如何访问它?

首先使用
json\u decode()
将json转换为数组

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

Then 

echo $array['Shpping '][0]]['minicomp'][0]['id'];//outputs 1
$json=;
$array=json_decode($json,true);
然后
echo$array['Shpping'][0]['minicomp'][0]['id']//产出1
例如:

<?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'];

?>

更新

用于获取所有ID。无需定义索引。使用foreach循环:

foreach($minicomp as $key=>$value){
echo $minicomp[$key]['id']."<br/>";
}
foreach($minicomp作为$key=>$value){
echo$minicomp[$key]['id']。“
”; }
如果我想在不传递其索引值的情况下也回显所有的值,即在执行回显时直接获取其索引值,该怎么办@Hek matuse foreach循环。