3v4l.org

run code in 300+ PHP versions simultaneously
<?php $a = 'aaa'; $b = 'bb'; $c = 'c'; $lenga = strlen($a); $lengb = strlen($b); $lengc = strlen($c); $leng = max([$lenga,$lengb,$lengc]); $out = ''; for($i=0;$i<$leng;$i++){ $out .= isset($a[$i]) ? $a[$i] : ''; $out .= isset($b[$i]) ? $b[$i] : ''; $out .= isset($c[$i]) ? $c[$i] : ''; } echo $out;
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 41
Branch analysis from position: 41
2 jumps found. (Code = 44) Position 1 = 43, Position 2 = 19
Branch analysis from position: 43
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 19
2 jumps found. (Code = 43) Position 1 = 21, Position 2 = 24
Branch analysis from position: 21
1 jumps found. (Code = 42) Position 1 = 25
Branch analysis from position: 25
2 jumps found. (Code = 43) Position 1 = 28, Position 2 = 31
Branch analysis from position: 28
1 jumps found. (Code = 42) Position 1 = 32
Branch analysis from position: 32
2 jumps found. (Code = 43) Position 1 = 35, Position 2 = 38
Branch analysis from position: 35
1 jumps found. (Code = 42) Position 1 = 39
Branch analysis from position: 39
2 jumps found. (Code = 44) Position 1 = 43, Position 2 = 19
Branch analysis from position: 43
Branch analysis from position: 19
Branch analysis from position: 38
2 jumps found. (Code = 44) Position 1 = 43, Position 2 = 19
Branch analysis from position: 43
Branch analysis from position: 19
Branch analysis from position: 31
2 jumps found. (Code = 43) Position 1 = 35, Position 2 = 38
Branch analysis from position: 35
Branch analysis from position: 38
Branch analysis from position: 24
2 jumps found. (Code = 43) Position 1 = 28, Position 2 = 31
Branch analysis from position: 28
Branch analysis from position: 31
filename:       /in/Ictti
function name:  (null)
number of ops:  45
compiled vars:  !0 = $a, !1 = $b, !2 = $c, !3 = $lenga, !4 = $lengb, !5 = $lengc, !6 = $leng, !7 = $out, !8 = $i
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, 'aaa'
    3     1        ASSIGN                                                   !1, 'bb'
    4     2        ASSIGN                                                   !2, 'c'
    6     3        STRLEN                                           ~12     !0
          4        ASSIGN                                                   !3, ~12
    7     5        STRLEN                                           ~14     !1
          6        ASSIGN                                                   !4, ~14
    8     7        STRLEN                                           ~16     !2
          8        ASSIGN                                                   !5, ~16
    9     9        INIT_FCALL                                               'max'
         10        INIT_ARRAY                                       ~18     !3
         11        ADD_ARRAY_ELEMENT                                ~18     !4
         12        ADD_ARRAY_ELEMENT                                ~18     !5
         13        SEND_VAL                                                 ~18
         14        DO_ICALL                                         $19     
         15        ASSIGN                                                   !6, $19
   11    16        ASSIGN                                                   !7, ''
   12    17        ASSIGN                                                   !8, 0
         18      > JMP                                                      ->41
   13    19    >   ISSET_ISEMPTY_DIM_OBJ                         0          !0, !8
         20      > JMPZ                                                     ~23, ->24
         21    >   FETCH_DIM_R                                      ~24     !0, !8
         22        QM_ASSIGN                                        ~25     ~24
         23      > JMP                                                      ->25
         24    >   QM_ASSIGN                                        ~25     ''
         25    >   ASSIGN_OP                                     8          !7, ~25
   14    26        ISSET_ISEMPTY_DIM_OBJ                         0          !1, !8
         27      > JMPZ                                                     ~27, ->31
         28    >   FETCH_DIM_R                                      ~28     !1, !8
         29        QM_ASSIGN                                        ~29     ~28
         30      > JMP                                                      ->32
         31    >   QM_ASSIGN                                        ~29     ''
         32    >   ASSIGN_OP                                     8          !7, ~29
   15    33        ISSET_ISEMPTY_DIM_OBJ                         0          !2, !8
         34      > JMPZ                                                     ~31, ->38
         35    >   FETCH_DIM_R                                      ~32     !2, !8
         36        QM_ASSIGN                                        ~33     ~32
         37      > JMP                                                      ->39
         38    >   QM_ASSIGN                                        ~33     ''
         39    >   ASSIGN_OP                                     8          !7, ~33
   12    40        PRE_INC                                                  !8
         41    >   IS_SMALLER                                               !8, !6
         42      > JMPNZ                                                    ~36, ->19
   18    43    >   ECHO                                                     !7
   19    44      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
150.49 ms | 1015 KiB | 14 Q