日期:2014-05-16  浏览次数:20571 次

数组用下标来重组数组,为什么重组出来的数组下标一直是第一个?

<?php
$id = array(8,31,32);

$resarr = array();
foreach($id as $num)
{
$product = array(
array(
'pid'=>'10', 
'name'=>'产品1'
),
array(
'pid'=>'11', 
'name'=>'产品2'
)
);
foreach($product as $key => $value)
{
$result_value = "";
foreach($value as $k => $v)
{
$result_value .= $result_value ? "|" : "";
$result_value .=  $v['pid'];
}
$product[$key]['value'] = $result_value;
}
$resarr[$num] = $product;
var_dump($resarr);
echo "<hr />";
}


var_dump() 出来的,下标一直都是[8]这个。。。哪里写错了?
------解决方案--------------------
在循环外面打印
------解决方案--------------------
$id = array(8,31,32);

$resarr = array();
foreach($id as $num)
{
$product = array(
array(
'pid'=>'10', 
'name'=>'产品1'
),
array(
'pid'=>'11', 
'name'=>'产品2'
)
);
foreach($product as $key => $value)
{
$result_value = "";
foreach($value as $k => $v)
{
$result_value .= $result_value ? "
------解决方案--------------------
" : "";
$result_value .=  $v['pid'];
}
$product[$key]['value'] = $result_value;
}
$resarr[$num] = $product;

}
var_dump($resarr);
echo "<hr />";