3v4l.org

run code in 500+ 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 = 3, Position 2 = 5
Branch analysis from position: 3
1 jumps found. (Code = 42) Position 1 = 21
Branch analysis from position: 21
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 5
2 jumps found. (Code = 43) Position 1 = 9, Position 2 = 11
Branch analysis from position: 9
1 jumps found. (Code = 42) Position 1 = 20
Branch analysis from position: 20
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 11
2 jumps found. (Code = 43) Position 1 = 16, Position 2 = 18
Branch analysis from position: 16
1 jumps found. (Code = 42) Position 1 = 19
Branch analysis from position: 19
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 18
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/foBNR
function name:  (null)
number of ops:  24
compiled vars:  none
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   12     0  E >   DEFINED                                              ~0      'E_STRICT'
          1        BOOL_NOT                                             ~1      ~0
          2      > JMPZ                                                         ~1, ->5
          3    >   QM_ASSIGN                                            ~2      'not+defined'
          4      > JMP                                                          ->21
   13     5    >   INIT_FCALL                                                   'isdeprecated'
          6        SEND_VAL                                                     'E_STRICT'
          7        DO_FCALL                                          0  $3      
          8      > JMPZ                                                         $3, ->11
          9    >   QM_ASSIGN                                            ~4      'deprecated'
         10      > JMP                                                          ->20
   14    11    >   FETCH_CONSTANT                                       ~5      'E_STRICT'
         12        FETCH_CONSTANT                                       ~6      'E_STRICT'
         13        BW_AND                                               ~7      ~6, 30719
         14        IS_IDENTICAL                                                 ~5, ~7
         15      > JMPZ                                                         ~8, ->18
         16    >   QM_ASSIGN                                            ~9      'in+%60E_ALL%60'
         17      > JMP                                                          ->19
         18    >   QM_ASSIGN                                            ~9      'not+in+%60E_ALL%60'
         19    >   QM_ASSIGN                                            ~4      ~9
         20    >   QM_ASSIGN                                            ~2      ~4
         21    >   CONCAT                                               ~10     '%60E_STRICT%60+is+', ~2
         22        ECHO                                                         ~10
   17    23      > 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:isDeprecated():4}
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.5.0


preferences:
178.66 ms | 3326 KiB | 18 Q