如何创建数组与关联数组在其他数组php [重复]

ws51t4hk  于 2023-09-29  发布在  PHP
关注(0)|答案(1)|浏览(108)

此问题已在此处有答案

push multiple values to array(3个答案)
4天前关闭。
我正在尝试创建此结构以将数据发送到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,但我不知道如何用这个结构来做一个数组。in键“key”应为"item_description$i",in值应为$precontractData->items[$i]->name
谢谢你的自述,为我的英语不好感到抱歉

11dmarpk

11dmarpk1#

你的数组构造错误。没有名为item_description_0的键,只有keyvalue。所以你需要调整你的循环:

$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,
    ],
];

相关问题