Php 如何将数组值拆分为3列?

Php 如何将数组值拆分为3列?,php,arrays,Php,Arrays,预期输出: 这是我当前的代码尝试: 我使用了具有键和值的关联数组概念,我已经从单个数组中拆分为3个数组,但我得到的结果是1到10、11-20和21-30,而我想要的是1-11-21 2-12-22。这应该可以: foreach ($data as $k => $v) { for ($i=0; $i<10;$i++){ if ($k <= 10) { $one[$k] = $v; } elseif($k>10 && $k&l

预期输出:

这是我当前的代码尝试:

我使用了具有键和值的关联数组概念,我已经从单个数组中拆分为3个数组,但我得到的结果是1到10、11-20和21-30,而我想要的是1-11-21 2-12-22。

这应该可以:

foreach ($data as $k => $v) { 
   for ($i=0; $i<10;$i++){
      if ($k <= 10) { $one[$k] = $v; } 
      elseif($k>10 && $k<=20) { $two[$k]=[$v]; } 
      else { $three[$k] = $v; } 
   }
} 
希望这能奏效

 <?php
 $data =array("01" => "0", "02" => "0", "03" => "1", "04" => "0", "05" => "0", "06" => "0", "07" => "0", "08" => "0", "09" => "1", "10" => "0", "11" => "0", "12" => "0", "13" => "0", "14" => "0", "15" => "0", "16" => "0", "17" => "0", "18" => "0", "19" => "0", "20" => "0", "21" => "0", "22" => "0", "23" => "0", "24" => "0 ", "25" => "0", "26" => "0", "27" => "0", "28" => "0", "29" => "0", "30" => "0 " );

 $output = array();

 print_r($data);
 foreach($data as $key =>$value)
 {
     $index = $key % 10;
     $output[$index][] = $value;
 }
 print_r($output);
 ?>
谢谢你,伙计。。。 我通过以下代码获得了预期结果:

 $data = array(10, 20, 31, 40, 50, 60,70, 80, 91, 100, 110, 120,130, 140, 150, 160, 170, 180,190 ,200 ,210 ,220, 230, 240,25, 260, 270, 280, 290, 300, 
     310);
$finalarr = array();
foreach ($data as $k => $v) { 
   for($i = $k;$i<count($data);$i+=10){
      $finalarr[$k][] = $data[$i];
   }
} 

print_r($finalarr);

你的问题很复杂,很难理解。第一个预期产出有指数0和第一个值1,第十个预期产出有指数10和第一个值10。。。我想已经有点不对劲了。。。
 <?php
 $data =array("01" => "0", "02" => "0", "03" => "1", "04" => "0", "05" => "0", "06" => "0", "07" => "0", "08" => "0", "09" => "1", "10" => "0", "11" => "0", "12" => "0", "13" => "0", "14" => "0", "15" => "0", "16" => "0", "17" => "0", "18" => "0", "19" => "0", "20" => "0", "21" => "0", "22" => "0", "23" => "0", "24" => "0 ", "25" => "0", "26" => "0", "27" => "0", "28" => "0", "29" => "0", "30" => "0 " );

 $output = array();

 print_r($data);
 foreach($data as $key =>$value)
 {
     $index = $key % 10;
     $output[$index][] = $value;
 }
 print_r($output);
 ?>
 $data = array(10, 20, 31, 40, 50, 60,70, 80, 91, 100, 110, 120,130, 140, 150, 160, 170, 180,190 ,200 ,210 ,220, 230, 240,25, 260, 270, 280, 290, 300, 
     310);
$finalarr = array();
foreach ($data as $k => $v) { 
   for($i = $k;$i<count($data);$i+=10){
      $finalarr[$k][] = $data[$i];
   }
} 

print_r($finalarr);
  foreach($data as $ke=>$va){
                    for($i=1; $i<=10; $i++){
                            for($j=$i; $j<=31; $j+=10){
                                    if($j==$ke){
                                            if($j==31){
                                                    $op[11][$j]=$va;
                                                    $op[11][' ']=' ';
                                                    $op[11]['  ']=' ';
                                            }
                                            else if($j!==31){
                                                    $op[$i][$j]=$va;
                                            }
                                    }
                            }
                    }
            }