如何将数据从一维数组复制到二维数组?
假设有一个数组,即a[10000]
,其值如下[ 1,2,3,55,66,77,88, ... ... , 9999]
值可能会重复...
现在我想将这个包含 10,000 个值的数组转换为二维数组它有 100 行和 100 列。
然后
是否可以在二维数组上实现SELECTION SORT
?
for($i = 0; $i<100; $i++)
{
for($j = 0; $j<100; $j++)
{
$indice = $j + 100 * $i;
$newArray[ $i ][ $j ] = $oldArray[ $indice ];
}
}
你可以尝试这样的事情:
假设 $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;
}
定义两个循环并做一些乘法
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
只是多个变体:
foreach($a as $k=>$v){
$b[(int)($k/100)][$k%100] = $v;
}