假如有五个数字:1,2,3,4,5,要保存到数组中,结果如下:数组1:2,3,4,5
数组2:1,3,5
数组3:1,2,3,4,5
数组4:1,2,4一共有4个数组,我的目的是把这5个数字在这四个数组中每个数字都出现3次,这样有一个数组不存在了,从其它数组也能把所有数字取出来。我不需要代码,只要有思路就行,谢谢各位达人。
数组2:1,3,5
数组3:1,2,3,4,5
数组4:1,2,4一共有4个数组,我的目的是把这5个数字在这四个数组中每个数字都出现3次,这样有一个数组不存在了,从其它数组也能把所有数字取出来。我不需要代码,只要有思路就行,谢谢各位达人。
2、按你补充描述,只要按 raid5 做就可以了,这样相当于 3 台服务器存储数据,1台服务器存储校验和
利用率是很高的
$b=&$a;
$c=&$a;
Print_r ($c);
这样不行吗?
for($i=0; $i<count($ar); $i++) {
$j = $i+1;
$r[$j++ % 4][$i] = $ar[$i];
$r[$j++ % 4][$i] = $ar[$i];
$r[$j++ % 4][$i] = $ar[$i];
}
print_r($r);Array
(
[1] => Array
(
[0] => 1
[2] => 3
[3] => 4
[4] => 5
[6] => 7
) [2] => Array
(
[0] => 1
[1] => 2
[3] => 4
[4] => 5
[5] => 6
) [3] => Array
(
[0] => 1
[1] => 2
[2] => 3
[4] => 5
[5] => 6
[6] => 7
) [0] => Array
(
[1] => 2
[2] => 3
[3] => 4
[5] => 6
[6] => 7
))
<?php
function split2Array($n, $repeat = 3)
{
$result = array();
for($i = 0; $i < $n; $i++)
{
for($j = 0; $j < $repeat; $j++)
{
$result[($i + $j) % ($repeat + 1)][$i] = $i + 1;
}
}
return $result;
}
print_r(split2Array(7, 4));
?>