此代码:
$arr1 = array();
for ($i=0; $i<10; $i++)
{
$arr1[] = array('A'=>rand(0,5), 'B'=>rand(0,4));
}
生成如下数组:
[0] array('A'=>0,[B]=>4)
[1] array('A'=>1,[B]=>3)
[2] array('A'=>3,[B]=>1)
//etc.
我需要得到不同的结构,即:
$arr2 = array('A' => array(0,1,3),'B' => array(4,3,1));
以便稍后我可以使用$arr2['A']
。如果创建的数组与第一个示例中显示的一样,那么$arr1['A']
将不起作用。
如何$arr2
使用FOR $arr1
的{{1}}。希望我能够清楚地解释自己。
答案 0 :(得分:3)
尝试:
$arr2 = array(
'A' => array(),
'B' => array()
);
for ($i=0; $i<10; $i++)
{
$arr2['A'][] = rand(0,5);
$arr2['B'][] = rand(0,4);
}
如果您想将现有的$arr1
转换为$arr2
,请尝试使用:
$arr2 = array(
'A' => array(),
'B' => array()
);
foreach ( $arr1 as $value )
{
$arr2['A'][] = $value['A'];
$arr2['B'][] = $value['B'];
}