繁体   English   中英

将数组元素添加到关联数组

[英]Add array elements to associative array

我无法找到一种方法来获取数组的元素(产品ID)并将其添加到关联数组的特定键($ choices ['id])中,从而无法创建该数组的多个实例($ choices []),因为$ id中有元素。

我希望$ choices []的最终版本包含与$ id []中的元素一样多的数组。

之后,我要对part_numbers和数量重复此过程。

// Create $choices array with keys only
$choices = array(
    'id' => '',
    'part_number' => '',
    'quantity' => '',
);

// Insert $id array values into 'id' key of $choices[]
$id = array('181', '33', '34');

如果我正确理解了您的问题,您是说类似的意思吗?

$choices = array();
$id = array('181', '33', '34');

foreach($id as $element)
{
    $choices[] = array(
    'id' => $element,
    'part_number' => '',
    'quantity' => '',
    );
}

echo "<pre>";
print_r($choices);
echo "</pre>";

输出:

 Array (
    [0] => Array
        (
            [id] => 181
            [part_number] => 
            [quantity] => 
        )

    [1] => Array
        (
            [id] => 33
            [part_number] => 
            [quantity] => 
        )

    [2] => Array
        (
            [id] => 34
            [part_number] => 
            [quantity] => 
        )

)

编辑:

更一般的解决方案如下:

$choices = array();

$values = array('sku-123', 'sku-132', 'sku-1323');

foreach($values as $i => $value){
   if(array_key_exists($i, $choices))
   {
      $choices[$i]['part_number'] = $value;
   }
   else
   {
       $choices[] = array(
        'id' => '',
        'part_number' => $value,
        'quantity' => '',
    );
   }
} 

这可用于数组创建和插入,因此可用于if / else块。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM