0

このコード:

$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']ません。

$arr2forのようにFORループを使用するにはどうすればよいですか$arr1。私が自分自身を十分に明確に説明したことを願っています。

4

1 に答える 1

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'];
}
于 2012-09-12T10:47:29.940 に答える