如何使用数组作为键将多个数组组合成单个关联数组

时间:2010-10-11 15:29:39

标签: php arrays associative

我有2个数组,我想循环并组合成一个关联数组。我想使用2个数组作为新关联数组的键。我是php的新手,所以任何和所有的帮助将不胜感激。

$id = array( 2, 4);

$qty = array( 5, 7);

array('id' => , 'qty' => );

提前致谢

我想输出类似这样的内容

array(
'id' => 2,
'qty' => 5),
array(
'id'=> 4,
'qty' => 7
)

2 个答案:

答案 0 :(得分:8)

你可以这样做:

$result = array();

for($i=0;$i<count($id);$i++) {
  $result[] = array('id' => $id[$i], 'qty' => $qty[$i]);
}

Mchl补充道: 另外,恕我直言更清楚一点,但主要是意见问题

$result = array();

foreach($id as $key => $value) {
  $result[] = array('id' => $id[$key], 'qty' => $qty[$key]);
}

答案 1 :(得分:0)

还有单行w / lambda(PHP> = 5.3.0)和短数组语法[](PHP> = 5.4)

$combined = array_map(function($id, $qty) {return ['id' => $id, 'qty' => $qty];}, $id, $qty);

或早期版本的回调和旧array()

function comb($id, $qty)
{
    return array('id' => $id, 'qty' => $qty);
}
$combined = array_map('comb', $id, $qty);