2

我有 2 个数组,我想循环并组合成一个关联数组。我想使用 2 个数组作为新关联数组的键。我是 php 新手,因此我们将不胜感激。

$id = array( 2, 4);

$qty = array( 5, 7);

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

提前致谢

我想输出这样的东西

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

2 回答 2

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]);
}
于 2010-10-11T15:42:58.610 回答
0

还有单行带 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);
于 2017-07-04T14:17:56.823 回答