使用关联键连接数组

时间:2013-11-27 02:14:52

标签: php

我会让代码说出来:

$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中的值都是错误的......例如。

2 个答案:

答案 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++;
}