3v4l.org

run code in 300+ PHP versions simultaneously
<?php function isDeprecated($c){ $d=false; set_error_handler(function($e) use (&$d) { $d = E_DEPRECATED === $e; }); defined($c) && constant($c); restore_error_handler(); return $d; } echo '`E_STRICT` is ' . ( !defined('E_STRICT') ? 'not defined' : ( isDeprecated('E_STRICT') ? 'deprecated' : ( E_STRICT === (E_ALL & E_STRICT) ? 'in `E_ALL`' : 'not in `E_ALL`' ) ) );
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 1, Position 2 = 3
Branch analysis from position: 1
1 jumps found. (Code = 42) Position 1 = 15
Branch analysis from position: 15
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 3
2 jumps found. (Code = 43) Position 1 = 7, Position 2 = 9
Branch analysis from position: 7
1 jumps found. (Code = 42) Position 1 = 14
Branch analysis from position: 14
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 9
2 jumps found. (Code = 43) Position 1 = 10, Position 2 = 12
Branch analysis from position: 10
1 jumps found. (Code = 42) Position 1 = 13
Branch analysis from position: 13
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 12
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/foBNR
function name:  (null)
number of ops:  18
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   12     0  E > > JMPZ                                                     <false>, ->3
          1    >   QM_ASSIGN                                        ~0      'not+defined'
          2      > JMP                                                      ->15
   13     3    >   INIT_FCALL                                               'isdeprecated'
          4        SEND_VAL                                                 'E_STRICT'
          5        DO_FCALL                                      0  $1      
          6      > JMPZ                                                     $1, ->9
          7    >   QM_ASSIGN                                        ~2      'deprecated'
          8      > JMP                                                      ->14
   14     9    > > JMPZ                                                     <true>, ->12
         10    >   QM_ASSIGN                                        ~3      'in+%60E_ALL%60'
         11      > JMP                                                      ->13
         12    >   QM_ASSIGN                                        ~3      'not+in+%60E_ALL%60'
         13    >   QM_ASSIGN                                        ~2      ~3
         14    >   QM_ASSIGN                                        ~0      ~2
         15    >   CONCAT                                           ~4      '%60E_STRICT%60+is+', ~0
         16        ECHO                                                     ~4
   17    17      > RETURN                                                   1

Function isdeprecated:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 46) Position 1 = 11, Position 2 = 15
Branch analysis from position: 11
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 15
filename:       /in/foBNR
function name:  isDeprecated
number of ops:  19
compiled vars:  !0 = $c, !1 = $d
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   RECV                                             !0      
    3     1        ASSIGN                                                   !1, <false>
    4     2        INIT_FCALL                                               'set_error_handler'
          3        DECLARE_LAMBDA_FUNCTION                          ~3      [0]
          4        BIND_LEXICAL                                             ~3, !1
    6     5        SEND_VAL                                                 ~3
    4     6        DO_ICALL                                                 
    7     7        INIT_FCALL                                               'defined'
          8        SEND_VAR                                                 !0
          9        DO_ICALL                                         $5      
         10      > JMPZ_EX                                          ~6      $5, ->15
         11    >   INIT_FCALL                                               'constant'
         12        SEND_VAR                                                 !0
         13        DO_ICALL                                         $7      
         14        BOOL                                             ~6      $7
    8    15    >   INIT_FCALL                                               'restore_error_handler'
         16        DO_ICALL                                                 
    9    17      > RETURN                                                   !1
   10    18*     > RETURN                                                   null


Dynamic Functions:
Dynamic Function 0
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/foBNR
function name:  {closure}
number of ops:  5
compiled vars:  !0 = $e, !1 = $d
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    4     0  E >   RECV                                             !0      
          1        BIND_STATIC                                              !1
    5     2        IS_IDENTICAL                                     ~2      !0, 8192
          3        ASSIGN                                                   !1, ~2
    6     4      > RETURN                                                   null

End of Dynamic Function 0

End of function isdeprecated

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
138.99 ms | 1008 KiB | 18 Q