如何将值从1维数组复制到2维数组?

时间:2013-10-09 18:24:41

标签: php arrays

如何将数据从1d数组复制到2d数组?

假设 有一个数组a[10000],其值为
[ 1,2,3,55,66,77,88, ... ... , 9999]
值可以重复......

现在我想将这个现在保存10,000个值的数组转换为二维数组 有100行和100列。

之后 是否可以在二维数组上实现SELECTION SORT

4 个答案:

答案 0 :(得分:0)

定义两个循环并进行一些乘法

for ($i=0; $i< 100; $i++) {
  for ($j=0; $j< 100; $j++) {
    $twoDarray[$i][$j] = $oneDarray[$i*100 + $j];
  }
}

要对多维数组进行排序,请使用array_multisort。 这是手册页:http://www.php.net/manual/en/function.array-multisort.php

答案 1 :(得分:0)

for($i = 0; $i<100; $i++)
{
    for($j = 0; $j<100; $j++)
    {
       $indice = $j + 100 * $i;
       $newArray[ $i ][ $j ] = $oldArray[ $indice ];

    }
}

答案 2 :(得分:0)

您可以尝试这样的事情:

假设$ a =数组(1,2,3,4,5 ...... 1000)

$b = 0;
$c = 0;
foreach ($a as $new_number){
    if ($b < 100){
        $b ++;
    } else {
        $b = 1;
        $c ++;
    }
    $new_array[$c][$b] = $new_number;
}

答案 3 :(得分:0)

只是一个变种:

foreach($a as $k=>$v){
 $b[(int)($k/100)][$k%100] = $v;
}