1

如何将数据从一维数组复制到二维数组?

假设有一个数组,即a[10000]具有类似值的
[ 1,2,3,55,66,77,88, ... ... , 9999]
值可以重复......

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

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

4

4 回答 4

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

    }
}
于 2013-10-09T18:30:44.377 回答
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

于 2013-10-09T18:27:59.503 回答
0

只是更多一种变体:

foreach($a as $k=>$v){
 $b[(int)($k/100)][$k%100] = $v;
}
于 2013-10-09T18:41:16.453 回答
0

你可以尝试这样的事情:

假设 $a = array(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;
}
于 2013-10-09T18:33:41.443 回答