我有 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 个数组,我想循环并组合成一个关联数组。我想使用 2 个数组作为新关联数组的键。我是 php 新手,因此我们将不胜感激。
$id = array( 2, 4);
$qty = array( 5, 7);
array('id' => , 'qty' => );
提前致谢
我想输出这样的东西
array(
'id' => 2,
'qty' => 5),
array(
'id'=> 4,
'qty' => 7
)
你可以做:
$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]);
}
还有单行带 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);