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

时间:2015-09-04 17:18:29

标签: php arrays

我无法找到一种方法来获取数组的元素(产品ID)并将它们添加到关联数组的特定键($ choices ['id]),以便它创建该数组的任意数量的实例($ choices [])因为$ id中有元素。

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

之后我想对part_numbers& amp;量。

// 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');

1 个答案:

答案 0 :(得分:0)

如果我正确理解你的问题,你的意思是这样的吗?

$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块。