【问题标题】:php filling jagged array 3 columns 3 rowsphp填充锯齿状数组3列3行
【发布时间】:2018-09-15 18:40:24
【问题描述】:

我有这个数组(我的数据库结果)

$nums = array("one","two","three",....,"nine");

$nums = array("one","two","three","four");

我想用这些值填充一个锯齿状数组。 我的锯齿状数组应该是这样的:

$kb = [
   ['one','two','three'],
   ['four','five','six'],
   ['seven','eight','nine']
];

$kb = [
   ['one','two','three'],
   ['four',' ',' ']
];

我该怎么做?

【问题讨论】:

    标签: php for-loop foreach jagged-arrays


    【解决方案1】:

    你需要使用array_chunk()方法

    $nums = array("one","two","three","four");
    
    $nums = array_chunk($nums, 3);
    

    【讨论】:

      【解决方案2】:

      array_chunk 将主要完成这项工作,

      $kb = array_chunk($nums, 3);
      

      但如果输入数组不均分,它不会用空白填充最终的子数组。
      即,array_chunk as-is 将产生:

      $kb = [
         ['one','two','three'],
         ['four']
      ];
      

      而不是你想要的输出。

      您可以将最后一项与空白数组合并来解决此问题。

      $kb[count($kb)-1] = end($kb) + ['','',''];
      

      (可以无条件执行;如果输入数组确实均分,则不会改变任何内容。)

      【讨论】:

        猜你喜欢
        • 2021-05-13
        • 1970-01-01
        • 2012-11-27
        • 2020-10-31
        • 1970-01-01
        • 1970-01-01
        • 2011-10-09
        • 1970-01-01
        • 2020-04-02
        相关资源
        最近更新 更多