如何在其他数组php中创建具有关联数组的数组[重复]

问题描述 投票:0回答:1

我正在尝试创建此结构以将数据发送到

API

$metaDataList = [
            [        
                "key" => "item_description0",
                "value" => "DCALUXE",
            ]
        ];

我需要这个结构。

我正在尝试这样做:

$items_selected = [];
        for($i=0; $i<count($precontractData->items);$i++){
            $items_selected["item_description$i"] = $precontractData->items[$i]->name;
            $items_selected["item_quantity$i"] = intval($precontractData->items[$i]->cuantity);
        }
        array_push($metaDataList, $items_selected);

但是我的结果不等于我需要的结构。我尝试使用合并数组,尝试使用 array_map,但我不知道如何使用此结构创建一个数组。键“key”应为

"item_description$i"
,值应为
$precontractData->items[$i]->name

谢谢你的自述,抱歉我的英语不好

php arrays associative-array
1个回答
2
投票

您错误地构建了数组。没有名为

item_description_0
的键,只有
key
value
。所以你需要调整你的循环:

$metaDataList = [];

foreach ($precontractData->items as $i => $item) {
    $metaDataList[] = [
        'key' => "item_description{$i}",
        'value' => $item->name,
    ];
    $metaDataList[] = [
        'key' => "item_quantity{$i}",
        'value' => intval($item->cuantity),
    ];
}

最终

$metaDataList
将类似于

[
    [
        'key' => 'item_description0',
        'value' => 'Name',
    ],
    [
        'key' => 'item_quantity0',
        'value' => 100,
    ],
    [
        'key' => 'item_description1',
        'value' => 'Name 1',
    ],
    [
        'key' => 'item_quantity1',
        'value' => 101,
    ],
];
© www.soinside.com 2019 - 2024. All rights reserved.