3v4l.org

run code in 300+ PHP versions simultaneously
<?php class BaseFunClass { const FIRST = 'first'; } class FunClass extends BaseFunClass { const SECOND = 'second'; } $class = 'FunClass'; $constantOne = 'FIRST'; $constantTwo = 'SECOND'; var_dump(constant("$class::$constantOne")); // Returns value! var_dump(constant("$class::$constantTwo")); // Says constant is not defined
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/MS4hG
function name:  (null)
number of ops:  22
compiled vars:  !0 = $class, !1 = $constantOne, !2 = $constantTwo
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   13     0  E >   ASSIGN                                                   !0, 'FunClass'
   14     1        ASSIGN                                                   !1, 'FIRST'
   15     2        ASSIGN                                                   !2, 'SECOND'
   17     3        INIT_FCALL                                               'var_dump'
          4        INIT_FCALL                                               'constant'
          5        ROPE_INIT                                     3  ~7      !0
          6        ROPE_ADD                                      1  ~7      ~7, '%3A%3A'
          7        ROPE_END                                      2  ~6      ~7, !1
          8        SEND_VAL                                                 ~6
          9        DO_ICALL                                         $9      
         10        SEND_VAR                                                 $9
         11        DO_ICALL                                                 
   18    12        INIT_FCALL                                               'var_dump'
         13        INIT_FCALL                                               'constant'
         14        ROPE_INIT                                     3  ~12     !0
         15        ROPE_ADD                                      1  ~12     ~12, '%3A%3A'
         16        ROPE_END                                      2  ~11     ~12, !2
         17        SEND_VAL                                                 ~11
         18        DO_ICALL                                         $14     
         19        SEND_VAR                                                 $14
         20        DO_ICALL                                                 
         21      > RETURN                                                   1

Class BaseFunClass: [no user functions]
Class FunClass: [no user functions]

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
160.87 ms | 1395 KiB | 17 Q