首页 > 解决方案 > 在 php 中创建数据集(循环)

问题描述

您好,我正在尝试创建数据集,例如

预期输出:-

Array
(
    [0] => Array
        (
    [sku] => sku
    [variant_option_one_name] => Color
    [variant_option_one_value] => Cyan
),
   [1] => Array
        (
    [sku] => sku
    [variant_option_one_name] => Color
    [variant_option_one_value] => Red
 )
)

但我不确定代码中缺少什么。

这是代码

$array = array(
    0 => array(
        'id_product_attribute' => '17615',
        'id_product'           => '2295',
        'reference'            => '',
        'available_date'       => '0000-00-00',
        'vend_id'              => null,
        'id_shop'              => '1',
        'id_attribute_group'   => '1',
        'is_color_group'       => '1',
        'group_name'           => 'Color',
        'attribute_name'       => 'Cyan',
        'id_attribute'         => '1',
    ),
    1 => array(
        'id_product_attribute' => '17616',
        'id_product'           => '2295',
        'reference'            => '',
        'available_date'       => '0000-00-00',
        'vend_id'              => null,
        'id_shop'              => '1',
        'id_attribute_group'   => '1',
        'is_color_group'       => '1',
        'group_name'           => 'Color',
        'attribute_name'       => 'Red',
        'id_attribute'         => '21',
    ),
);

$ids = array();
foreach ($array as $combinations) {
    $ids['sku']                      = 'sku';
    $ids['variant_option_one_name']  = $combinations['group_name'];
    $ids['variant_option_one_value'] = $combinations['attribute_name'];
}
print_r($ids);//

我在这里

Array
(
    [sku] => sku
    [variant_option_one_name] => Color
    [variant_option_one_value] => Red
)

我得到的上述输出。似乎数据被覆盖任何更正以获得数据?我没有得到数组中的两种颜色。谢谢你

标签: phparrays

解决方案


foreach ($array as $combinations) {
  array_push ($ids, [
    'sku' => 'sku',
    'variant_option_one_name' => $combinations['group_name'],
    'variant_option_one_value' => $combinations['attribute_name']
  ]);
}

推荐阅读