Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 数组输出-索引结构中的顺序_Php_Algorithm_While Loop - Fatal编程技术网

Php 数组输出-索引结构中的顺序

Php 数组输出-索引结构中的顺序,php,algorithm,while-loop,Php,Algorithm,While Loop,我有这个密码 $nArr = array('A', 'B', 'C', 'D', 'E', 'F'); $counter = 3; while ($counter > 0) { $chunkedValues[$counter][0] = 1; for ($j = 0 ; $j < $counter ; $j++) { $chunkedValues[$counter][$j + 1] = $nArr[$j]; } $nArr = arr

我有这个密码

$nArr = array('A', 'B', 'C', 'D', 'E', 'F');

$counter = 3;
while ($counter > 0) {
    $chunkedValues[$counter][0] = 1;
    for ($j = 0 ; $j < $counter ; $j++) {
        $chunkedValues[$counter][$j + 1] = $nArr[$j];
    }
    $nArr = array_slice($nArr, $counter--);
}
var_dump($chunkedValues);
但我需要这个索引结构:

array
  0 => 
    array
      0 => int 1
      1 => string 'A' (length=1)
      2 => string 'B' (length=1)
      3 => string 'C' (length=1)
  1 => 
    array
      1 => int 1
      2 => string 'D' (length=1)
      3 => string 'E' (length=1)
  2 => 
    array
      2 => int 1
      3 => string 'F' (length=1)
我想避免使用
ceil
的循环


有什么想法吗?谢谢您的时间。

您是在拆分阵列吗

$nArr = array('A', 'B', 'C', 'D', 'E', 'F');

$chunkedValues = array();
$gCounter = 0;
for ($counter = 3, $start = 0; $counter > 0; $counter--, $start++) {
    $arr = array($start => 1);
    for ($j = 0; $j < $counter; $j++) $arr[]= $nArr[$gCounter++];
    $chunkedValues []= $arr;
}

var_dump($chunkedValues);
看起来您可能只需要使用:

$nArr = array('A', 'B', 'C', 'D', 'E', 'F');
$chunked = array_chunk($nArr , 3);
var_dump($chunked);

nop、[0][0]应该是1、[1][1]应该是1、[2][2]应该是1,依此类推。
$nArr = array('A', 'B', 'C', 'D', 'E', 'F');

$chunkedValues = array();
$gCounter = 0;
for ($counter = 3, $start = 0; $counter > 0; $counter--, $start++) {
    $arr = array_combine(
        range($start+1, $counter)
        array_slice($nArr, $gCounter, $gCounter += $counter);
    );
    $arr[$start] = 1;
    $chunkedValues []= $arr;
}

var_dump($chunkedValues);
$nArr = array('A', 'B', 'C', 'D', 'E', 'F');
$chunked = array_chunk($nArr , 3);
var_dump($chunked);