【问题标题】:Single to multiple Array in PHP [closed]PHP中的单个到多个数组[关闭]
【发布时间】:2019-12-31 12:44:06
【问题描述】:

在我的 foreach 循环中,我从 csv 文件中获取数据,在将其渲染到数组中之后,数据被集体渲染,但我希望它像在 csv 文件中一样按列显示,或者我在下面的第二个中显示代码示例:

Array(
[0] => op1
[1] => op2
[2] => ans 1
[3] => op4
[4] => op1
[5] => op2
[6] => ans 2
[7] => op4
[8] => op1
[9] => op2
[10] => ans 3
[11] => op4
[12] => op1
[13] => op2
[14] => ans 4
[15] => op4
[16] => op1
[17] => op2
[18] => ans 5
[19] => op4
[20] => op1
)

我想要这个

Array
(
    option[0]=>
        Array(
        [0] => op1
        [1] => op2
        [2] => ans 1
        [3] => op4
        )

    option[1]=>
        Array(
        [0] => op1
        [1] => op2
        [2] => ans 2
        [3] => op4
        )
    option[2]=>
        Array(
        [0] => op1
        [1] => op2
        [2] => ans 2
        [3] => op4
        )   
    option[3]=>
        Array(
        [0] => op1
        [1] => op2
        [2] => ans 2
        [3] => op4
        )           
)

【问题讨论】:

    标签: php arrays loops foreach


    【解决方案1】:

    你可以像这样使用 array_chuck() 函数:

    print_r(array_chunk($input_array, 4));
    

    【讨论】:

      【解决方案2】:

      在您现有的 foreach 循环中,使用 Modulus 将数组分组。

      $final_arr= array();
      $new_key = 0;
      foreach($csv_data as $key => $value){
          $new_key = $new_key;
          if($key % 4 == 0){
              $new_key += 1;
          }
      $final_arr[$new_key][]= $value;
      }
      

      这里我假设你在 $csv_data 这个变量中获得了你的 csv 数据。

      希望对你有帮助。

      【讨论】:

        【解决方案3】:

        来自str_getcsv的手册页,前两个cmets:

        如果字段包含 换行符。

        方便地将 CSV 文件解析为数组:

        $csv = array_map('str_getcsv', file('data.csv'));
        


        这将创建一个包含第一行的关联数组 列标题作为键。

        $csv = array_map('str_getcsv', file($file));
        array_walk($csv, function(&$a) use ($csv) {
            $a = array_combine($csv[0], $a);
        });
        array_shift($csv); // remove column header
        

        【讨论】:

          猜你喜欢
          • 2015-05-18
          • 1970-01-01
          • 2018-07-13
          • 2012-12-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-01-28
          • 1970-01-01
          相关资源
          最近更新 更多