3v4l.org

run code in 300+ PHP versions simultaneously
<?php [, $foo, $bar] = explode(':', 'empty:foo'); echo ($foo === NULL) ? 'null' : 'foo'; echo ($bar === NULL) ? 'null' : 'bar'; [, $foo, $bar] = explode(':', 'empty:foo:bar'); echo ($foo === NULL) ? 'null' : 'foo'; echo ($bar === NULL) ? 'null' : 'bar'; [, $foo, $bar] = explode(':', 'foo'); echo ($foo === NULL) ? 'null' : 'foo'; echo ($bar === NULL) ? 'null' : 'bar';
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 11, Position 2 = 13
Branch analysis from position: 11
1 jumps found. (Code = 42) Position 1 = 14
Branch analysis from position: 14
2 jumps found. (Code = 43) Position 1 = 17, Position 2 = 19
Branch analysis from position: 17
1 jumps found. (Code = 42) Position 1 = 20
Branch analysis from position: 20
2 jumps found. (Code = 43) Position 1 = 32, Position 2 = 34
Branch analysis from position: 32
1 jumps found. (Code = 42) Position 1 = 35
Branch analysis from position: 35
2 jumps found. (Code = 43) Position 1 = 38, Position 2 = 40
Branch analysis from position: 38
1 jumps found. (Code = 42) Position 1 = 41
Branch analysis from position: 41
2 jumps found. (Code = 43) Position 1 = 53, Position 2 = 55
Branch analysis from position: 53
1 jumps found. (Code = 42) Position 1 = 56
Branch analysis from position: 56
2 jumps found. (Code = 43) Position 1 = 59, Position 2 = 61
Branch analysis from position: 59
1 jumps found. (Code = 42) Position 1 = 62
Branch analysis from position: 62
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 61
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 55
2 jumps found. (Code = 43) Position 1 = 59, Position 2 = 61
Branch analysis from position: 59
Branch analysis from position: 61
Branch analysis from position: 40
2 jumps found. (Code = 43) Position 1 = 53, Position 2 = 55
Branch analysis from position: 53
Branch analysis from position: 55
Branch analysis from position: 34
2 jumps found. (Code = 43) Position 1 = 38, Position 2 = 40
Branch analysis from position: 38
Branch analysis from position: 40
Branch analysis from position: 19
2 jumps found. (Code = 43) Position 1 = 32, Position 2 = 34
Branch analysis from position: 32
Branch analysis from position: 34
Branch analysis from position: 13
2 jumps found. (Code = 43) Position 1 = 17, Position 2 = 19
Branch analysis from position: 17
Branch analysis from position: 19
filename:       /in/7grsB
function name:  (null)
number of ops:  64
compiled vars:  !0 = $foo, !1 = $bar
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    4     0  E >   INIT_FCALL                                               'explode'
          1        SEND_VAL                                                 '%3A'
          2        SEND_VAL                                                 'empty%3Afoo'
          3        DO_ICALL                                         $2      
          4        FETCH_LIST_R                                     $3      $2, 1
          5        ASSIGN                                                   !0, $3
          6        FETCH_LIST_R                                     $5      $2, 2
          7        ASSIGN                                                   !1, $5
          8        FREE                                                     $2
    5     9        TYPE_CHECK                                    2          !0
         10      > JMPZ                                                     ~7, ->13
         11    >   QM_ASSIGN                                        ~8      'null'
         12      > JMP                                                      ->14
         13    >   QM_ASSIGN                                        ~8      'foo'
         14    >   ECHO                                                     ~8
    6    15        TYPE_CHECK                                    2          !1
         16      > JMPZ                                                     ~9, ->19
         17    >   QM_ASSIGN                                        ~10     'null'
         18      > JMP                                                      ->20
         19    >   QM_ASSIGN                                        ~10     'bar'
         20    >   ECHO                                                     ~10
    7    21        INIT_FCALL                                               'explode'
         22        SEND_VAL                                                 '%3A'
         23        SEND_VAL                                                 'empty%3Afoo%3Abar'
         24        DO_ICALL                                         $11     
         25        FETCH_LIST_R                                     $12     $11, 1
         26        ASSIGN                                                   !0, $12
         27        FETCH_LIST_R                                     $14     $11, 2
         28        ASSIGN                                                   !1, $14
         29        FREE                                                     $11
    8    30        TYPE_CHECK                                    2          !0
         31      > JMPZ                                                     ~16, ->34
         32    >   QM_ASSIGN                                        ~17     'null'
         33      > JMP                                                      ->35
         34    >   QM_ASSIGN                                        ~17     'foo'
         35    >   ECHO                                                     ~17
    9    36        TYPE_CHECK                                    2          !1
         37      > JMPZ                                                     ~18, ->40
         38    >   QM_ASSIGN                                        ~19     'null'
         39      > JMP                                                      ->41
         40    >   QM_ASSIGN                                        ~19     'bar'
         41    >   ECHO                                                     ~19
   10    42        INIT_FCALL                                               'explode'
         43        SEND_VAL                                                 '%3A'
         44        SEND_VAL                                                 'foo'
         45        DO_ICALL                                         $20     
         46        FETCH_LIST_R                                     $21     $20, 1
         47        ASSIGN                                                   !0, $21
         48        FETCH_LIST_R                                     $23     $20, 2
         49        ASSIGN                                                   !1, $23
         50        FREE                                                     $20
   11    51        TYPE_CHECK                                    2          !0
         52      > JMPZ                                                     ~25, ->55
         53    >   QM_ASSIGN                                        ~26     'null'
         54      > JMP                                                      ->56
         55    >   QM_ASSIGN                                        ~26     'foo'
         56    >   ECHO                                                     ~26
   12    57        TYPE_CHECK                                    2          !1
         58      > JMPZ                                                     ~27, ->61
         59    >   QM_ASSIGN                                        ~28     'null'
         60      > JMP                                                      ->62
         61    >   QM_ASSIGN                                        ~28     'bar'
         62    >   ECHO                                                     ~28
         63      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
143.62 ms | 1005 KiB | 14 Q