我会让代码说出来:
$params = array();
$qtyCount = count(array(1,2,3,4,5));
$qtyAr = array(6,7,8,9,10);
$i = 1;
while($i <= $qtyCount){
$params['quantity_'.$i] .= $qtyAr[$i];
$i++;
}
但是当我这样做时,最后一个值丢失了。
顺便说一句:qtyCount和qtyAr中的值都是错误的......例如。
答案 0 :(得分:1)
我会选择更简单的方法:
array_walk($qtyAr, function($item, $index) use (&$params) {
$key = sprintf("quantity_%u", $index);
$params[$key] = $item;
});
您似乎从错误的索引(1)开始,$i
应该是= 0,正如其他人指出的那样。
答案 1 :(得分:0)
你错过了最后一个元素,因为你的unasssociated数组以0
开头,你的循环以1
开头。这就是foreach工作得更好的原因,因为它遍历所有元素。
$qtyAr = array(6,7,8,9,10);
$i = 1;
foreach($qtyAr as $val) {
$params['quantity_' . $i] = $val;
$i++;
}