【问题标题】:how to add sub array to main array in php laravel如何在php laravel中将子数组添加到主数组
【发布时间】:2020-06-03 14:19:28
【问题描述】:

我已经创建了一个数组

$json

$json = array(
 "att1" => '1',
 "att2" => '2',
 "details" => null
);

如何在主数组中添加子数组 [详情] 使用 for each,

所以我最终的 $json 会是这样的

{
"att1" : "1",
"att2" : "2",
"detail":[
    {
        "a": "value"
        "b": "value"
    },
    {
        "a": "value"
        "b": "value"
    }
  ]
}

【问题讨论】:

  • details => $domeVariable?

标签: php laravel


【解决方案1】:

这样做:

$json = array(
 'att1' => '1',
 'att2' => '2',
 'details' => null
);

在此处排列您的详细信息数组。

$detailsArray =  [
    [
        "a" => 'value',
        "b" => 'value'
    ],
    [
        "a" => 'value',
        "b" => 'value'
    ]
];

只需将您的数据放入所需的数组字段中

$json['details'] = $detailsArray;

您需要使用 PHP 内置函数 json_encode 将其转换为 JSON。

$json = json_encode($json); 

print_r($json);

输出正是你所需要的

{
"att1" : "1",
"att2" : "2",
"detail":[
    {
        "a": "value"
        "b": "value"
    },
    {
        "a": "value"
        "b": "value"
    }
  ]
}

【讨论】:

    【解决方案2】:

    当您有一个 json 时,您必须对其进行解码以获取您的对象:

    $object = json_decode($json);
    

    那么:您可以将解码对象作为普通对象使用:

    $object->details = $detailsArray;
    

    https://stackoverflow.com/a/55151110/10573560

    简短教程:

    https://www.w3schools.com/php/func_json_decode.asp

    【讨论】:

      【解决方案3】:
      foreach ($someArr as $arrElement) {
        $json['detail'][] = array('a' => $arrElement, 'b' => $arrElement);
      }
      
      $result = json_encode($json);
      

      你的问题不是很清楚。这是你要找的吗?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-06-18
        • 2012-01-17
        • 2023-01-08
        • 1970-01-01
        • 1970-01-01
        • 2018-11-22
        • 1970-01-01
        • 2023-03-28
        相关资源
        最近更新 更多