用foreach填充多维数组

时间:2019-07-16 00:19:04

标签: php

我需要制作一个这样的数组

   $preferenceData = [
            'items' => [
                [
                    'id' => 1,
                    'title' => 'Recarga de Créditos',
                    'description' => 'Recarga de Créditos para Negocioson.com',
                    'quantity' => 1,
                    'currency_id' => 'ARS',
                    'unit_price' => $amount
                ]
            ]
        ];

但是我需要使用foreach来创建

 foreach ($items as $item) {

}

我尝试过:

$data[0]['items'][0]['id'] = 1;

结果不一样:

这是我的:

Array ( [0] => Array ( [items] => Array ( [0] => Array ( [id] => 1 ) ) ) ) 

这是首选项之一:

Array ( [items] => Array ( [0] => Array ( [id] => 1 ) ) )

我添加了[0]怎么删除?

谢谢

2 个答案:

答案 0 :(得分:1)

您不应使用$data[0]。顶层数组是一个关联数组,而不是数字数组。

$data['items'][0] = [
    'id' => 1,
    'title' => 'Recarga de Créditos',
    'description' => 'Recarga de Créditos para Negocioson.com',
    'quantity' => 1,
    'currency_id' => 'ARS',
    'unit_price' => $amount
];

答案 1 :(得分:0)

您可以执行以下操作:

$data = [];
foreach ($items as $item) {
    $data['items'][] = [
        'id' => $item['id'],
        'title' => $item['title'],
        ...
    ];
}