3v4l.org

run code in 300+ PHP versions simultaneously
<?php function echo1T() { echo "1"; return true; } function echo2T() { echo "2"; return true; } function echo3T() { echo "3"; return true; } function echo1F() { echo "1"; return false; } function echo2F() { echo "2"; return false; } function echo3F() { echo "3"; return false; } while (echo1T() && echo2F() && echo3T()); echo "\n---\n"; while (echo1F() && echo2T() && echo3T()); echo "\n---\n"; while (echo1T() && echo2T() && echo3F()); echo "\n---\n"; if (echo1T() && echo2F() && echo3T());
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 1
Branch analysis from position: 1
2 jumps found. (Code = 46) Position 1 = 4, Position 2 = 7
Branch analysis from position: 4
2 jumps found. (Code = 46) Position 1 = 8, Position 2 = 11
Branch analysis from position: 8
2 jumps found. (Code = 44) Position 1 = 12, Position 2 = 1
Branch analysis from position: 12
1 jumps found. (Code = 42) Position 1 = 14
Branch analysis from position: 14
2 jumps found. (Code = 46) Position 1 = 17, Position 2 = 20
Branch analysis from position: 17
2 jumps found. (Code = 46) Position 1 = 21, Position 2 = 24
Branch analysis from position: 21
2 jumps found. (Code = 44) Position 1 = 25, Position 2 = 14
Branch analysis from position: 25
1 jumps found. (Code = 42) Position 1 = 27
Branch analysis from position: 27
2 jumps found. (Code = 46) Position 1 = 30, Position 2 = 33
Branch analysis from position: 30
2 jumps found. (Code = 46) Position 1 = 34, Position 2 = 37
Branch analysis from position: 34
2 jumps found. (Code = 44) Position 1 = 38, Position 2 = 27
Branch analysis from position: 38
2 jumps found. (Code = 46) Position 1 = 42, Position 2 = 45
Branch analysis from position: 42
2 jumps found. (Code = 46) Position 1 = 46, Position 2 = 49
Branch analysis from position: 46
2 jumps found. (Code = 43) Position 1 = 50, Position 2 = 50
Branch analysis from position: 50
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 50
Branch analysis from position: 49
Branch analysis from position: 45
Branch analysis from position: 27
Branch analysis from position: 37
Branch analysis from position: 33
Branch analysis from position: 14
Branch analysis from position: 24
Branch analysis from position: 20
Branch analysis from position: 1
Branch analysis from position: 11
Branch analysis from position: 7
filename:       /in/AakYj
function name:  (null)
number of ops:  51
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   28     0  E > > JMP                                                      ->1
          1    >   INIT_FCALL                                               'echo1t'
          2        DO_FCALL                                      0  $0      
          3      > JMPZ_EX                                          ~1      $0, ->7
          4    >   INIT_FCALL                                               'echo2f'
          5        DO_FCALL                                      0  $2      
          6        BOOL                                             ~1      $2
          7    > > JMPZ_EX                                          ~1      ~1, ->11
          8    >   INIT_FCALL                                               'echo3t'
          9        DO_FCALL                                      0  $3      
         10        BOOL                                             ~1      $3
         11    > > JMPNZ                                                    ~1, ->1
   29    12    >   ECHO                                                     '%0A---%0A'
   30    13      > JMP                                                      ->14
         14    >   INIT_FCALL                                               'echo1f'
         15        DO_FCALL                                      0  $4      
         16      > JMPZ_EX                                          ~5      $4, ->20
         17    >   INIT_FCALL                                               'echo2t'
         18        DO_FCALL                                      0  $6      
         19        BOOL                                             ~5      $6
         20    > > JMPZ_EX                                          ~5      ~5, ->24
         21    >   INIT_FCALL                                               'echo3t'
         22        DO_FCALL                                      0  $7      
         23        BOOL                                             ~5      $7
         24    > > JMPNZ                                                    ~5, ->14
   31    25    >   ECHO                                                     '%0A---%0A'
   32    26      > JMP                                                      ->27
         27    >   INIT_FCALL                                               'echo1t'
         28        DO_FCALL                                      0  $8      
         29      > JMPZ_EX                                          ~9      $8, ->33
         30    >   INIT_FCALL                                               'echo2t'
         31        DO_FCALL                                      0  $10     
         32        BOOL                                             ~9      $10
         33    > > JMPZ_EX                                          ~9      ~9, ->37
         34    >   INIT_FCALL                                               'echo3f'
         35        DO_FCALL                                      0  $11     
         36        BOOL                                             ~9      $11
         37    > > JMPNZ                                                    ~9, ->27
   33    38    >   ECHO                                                     '%0A---%0A'
   34    39        INIT_FCALL                                               'echo1t'
         40        DO_FCALL                                      0  $12     
         41      > JMPZ_EX                                          ~13     $12, ->45
         42    >   INIT_FCALL                                               'echo2f'
         43        DO_FCALL                                      0  $14     
         44        BOOL                                             ~13     $14
         45    > > JMPZ_EX                                          ~13     ~13, ->49
         46    >   INIT_FCALL                                               'echo3t'
         47        DO_FCALL                                      0  $15     
         48        BOOL                                             ~13     $15
         49    > > JMPZ                                                     ~13, ->50
         50    > > RETURN                                                   1

Function echo1t:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/AakYj
function name:  echo1T
number of ops:  3
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    4     0  E >   ECHO                                                     '1'
    5     1      > RETURN                                                   <true>
    6     2*     > RETURN                                                   null

End of function echo1t

Function echo2t:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/AakYj
function name:  echo2T
number of ops:  3
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    8     0  E >   ECHO                                                     '2'
    9     1      > RETURN                                                   <true>
   10     2*     > RETURN                                                   null

End of function echo2t

Function echo3t:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/AakYj
function name:  echo3T
number of ops:  3
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   12     0  E >   ECHO                                                     '3'
   13     1      > RETURN                                                   <true>
   14     2*     > RETURN                                                   null

End of function echo3t

Function echo1f:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/AakYj
function name:  echo1F
number of ops:  3
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   16     0  E >   ECHO                                                     '1'
   17     1      > RETURN                                                   <false>
   18     2*     > RETURN                                                   null

End of function echo1f

Function echo2f:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/AakYj
function name:  echo2F
number of ops:  3
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   20     0  E >   ECHO                                                     '2'
   21     1      > RETURN                                                   <false>
   22     2*     > RETURN                                                   null

End of function echo2f

Function echo3f:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/AakYj
function name:  echo3F
number of ops:  3
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   24     0  E >   ECHO                                                     '3'
   25     1      > RETURN                                                   <false>
   26     2*     > RETURN                                                   null

End of function echo3f

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
241.25 ms | 1009 KiB | 25 Q