我让代码说话:
$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++;
}
但是当我这样做的时候,最后一个值就不见了。
BTW:qtyCount和qtyAr中的值是错误的。。。只是举个例子。
我会选择一种更简单的方法:
array_walk($qtyAr, function($item, $index) use (&$params) {
$key = sprintf("quantity_%u", $index);
$params[$key] = $item;
});
似乎您从错误的索引(1)开始,正如其他人所指出的,$i
应该等于0。
您缺少最后一个元素,因为您的非关联数组以0
开头,而循环以1
开头。这就是为什么foreach工作得更好的原因,因为它可以迭代所有元素。
$qtyAr = array(6,7,8,9,10);
$i = 1;
foreach($qtyAr as $val) {
$params['quantity_' . $i] = $val;
$i++;
}