3v4l.org

run code in 200+ php & hhvm versions
<?php // пример от Максима Иванова error_reporting( E_ERROR ); function foo(){}; // return void $arr = [1, 2, 3]; echo (false ?? "Next step !") . " | "; // true echo (NULL ?? "Next step !") . " | "; // Next step ! echo ("" ?? "Next step !") . " | "; // true echo (0 ?? "Next step !") . " | "; // 0 echo (foo() ?? "Next step !") . " | "; // Next step ! echo ($arr ?? "Next step !") . " | "; // Array echo ($arr[1] ?? "Next step !") . " | "; // 2
based on 3gFAm
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/kqgib
function name:  (null)
number of ops:  37
compiled vars:  !0 = $arr
line     #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   4     0  E >   INIT_FCALL                                               'error_reporting'
         1        SEND_VAL                                                 1
         2        DO_ICALL                                                 
   6     3        NOP                                                      
   7     4        ASSIGN                                                   !0, <array>
   9     5        COALESCE                                         ~3      <false>
         6        QM_ASSIGN                                        ~3      'Next+step+%21'
         7        CONCAT                                           ~4      ~3, '+%7C+'
         8        ECHO                                                     ~4
  10     9        COALESCE                                         ~5      null
        10        QM_ASSIGN                                        ~5      'Next+step+%21'
        11        CONCAT                                           ~6      ~5, '+%7C+'
        12        ECHO                                                     ~6
  11    13        COALESCE                                         ~7      ''
        14        QM_ASSIGN                                        ~7      'Next+step+%21'
        15        CONCAT                                           ~8      ~7, '+%7C+'
        16        ECHO                                                     ~8
  12    17        COALESCE                                         ~9      0
        18        QM_ASSIGN                                        ~9      'Next+step+%21'
        19        CONCAT                                           ~10     ~9, '+%7C+'
        20        ECHO                                                     ~10
  13    21        INIT_FCALL                                               'foo'
        22        DO_FCALL                                      0  $11     
        23        COALESCE                                         ~12     $11
        24        QM_ASSIGN                                        ~12     'Next+step+%21'
        25        CONCAT                                           ~13     ~12, '+%7C+'
        26        ECHO                                                     ~13
  14    27        COALESCE                                         ~14     !0
        28        QM_ASSIGN                                        ~14     'Next+step+%21'
        29        CONCAT                                           ~15     ~14, '+%7C+'
        30        ECHO                                                     ~15
  15    31        FETCH_DIM_IS                                     $16     !0, 1
        32        COALESCE                                         ~17     $16
        33        QM_ASSIGN                                        ~17     'Next+step+%21'
        34        CONCAT                                           ~18     ~17, '+%7C+'
        35        ECHO                                                     ~18
        36      > RETURN                                                   1

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

End of function foo

Generated using Vulcan Logic Dumper, using php 7.3.0