3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = range(1, 65); $minColumns = 9; $count = count($array); $maxRows = intdiv($count, $minColumns); $maxColumns = ceil($count / $maxRows); $longRowsCount = $count % $maxRows; echo "$count, $maxRows, $maxColumns, $longRowsCount\n"; var_export([ ...array_chunk( array_splice( $array, 0, ($maxColumns * $longRowsCount) ?: $count ), $maxColumns ), ...array_chunk($array, $maxColumns - 1) ]);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/kSPWg
function name:  (null)
number of ops:  53
compiled vars:  !0 = $array, !1 = $minColumns, !2 = $count, !3 = $maxRows, !4 = $maxColumns, !5 = $longRowsCount
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   INIT_FCALL                                               'range'
          1        SEND_VAL                                                 1
          2        SEND_VAL                                                 65
          3        DO_ICALL                                         $6      
          4        ASSIGN                                                   !0, $6
    4     5        ASSIGN                                                   !1, 9
    6     6        COUNT                                            ~9      !0
          7        ASSIGN                                                   !2, ~9
    7     8        INIT_FCALL                                               'intdiv'
          9        SEND_VAR                                                 !2
         10        SEND_VAR                                                 !1
         11        DO_ICALL                                         $11     
         12        ASSIGN                                                   !3, $11
    8    13        INIT_FCALL                                               'ceil'
         14        DIV                                              ~13     !2, !3
         15        SEND_VAL                                                 ~13
         16        DO_ICALL                                         $14     
         17        ASSIGN                                                   !4, $14
    9    18        MOD                                              ~16     !2, !3
         19        ASSIGN                                                   !5, ~16
   11    20        ROPE_INIT                                     8  ~19     !2
         21        ROPE_ADD                                      1  ~19     ~19, '%2C+'
         22        ROPE_ADD                                      2  ~19     ~19, !3
         23        ROPE_ADD                                      3  ~19     ~19, '%2C+'
         24        ROPE_ADD                                      4  ~19     ~19, !4
         25        ROPE_ADD                                      5  ~19     ~19, '%2C+'
         26        ROPE_ADD                                      6  ~19     ~19, !5
         27        ROPE_END                                      7  ~18     ~19, '%0A'
         28        ECHO                                                     ~18
   13    29        INIT_FCALL                                               'var_export'
   14    30        INIT_FCALL                                               'array_chunk'
   15    31        INIT_FCALL                                               'array_splice'
   16    32        SEND_REF                                                 !0
   17    33        SEND_VAL                                                 0
   18    34        MUL                                              ~23     !4, !5
         35        JMP_SET                                          ~24     ~23, ->37
         36        QM_ASSIGN                                        ~24     !2
         37        SEND_VAL                                                 ~24
   15    38        DO_ICALL                                         $25     
   18    39        SEND_VAR                                                 $25
   20    40        SEND_VAR                                                 !4
   14    41        DO_ICALL                                         $26     
   20    42        INIT_ARRAY                                       ~27     
         43        ADD_ARRAY_UNPACK                                 ~27     $26
   22    44        INIT_FCALL                                               'array_chunk'
         45        SEND_VAR                                                 !0
         46        SUB                                              ~28     !4, 1
         47        SEND_VAL                                                 ~28
         48        DO_ICALL                                         $29     
         49        ADD_ARRAY_UNPACK                                 ~27     $29
         50        SEND_VAL                                                 ~27
   13    51        DO_ICALL                                                 
   23    52      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
141.65 ms | 1021 KiB | 19 Q