3v4l.org

run code in 300+ PHP versions simultaneously
<?php echo 'Initial settings:'.PHP_EOL; echo 'zend.assertions: '.ini_get('zend.assertions').PHP_EOL; echo 'assert.active: '.ini_get('assert.active').PHP_EOL; ini_set('zend.assertions', 0); assert_options(ASSERT_ACTIVE, 0); echo 'After altering settings:'.PHP_EOL; echo 'zend.assertions: '.ini_get('zend.assertions').PHP_EOL; echo 'assert.active: '.ini_get('assert.active').PHP_EOL; $assert = false; assert($assert = true); if($assert) echo 'Code in assert() was evaluated'.PHP_EOL; else echo 'Code in assert() was NOT evaluated'.PHP_EOL;
based on 0VkPp
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 42, Position 2 = 44
Branch analysis from position: 42
1 jumps found. (Code = 42) Position 1 = 45
Branch analysis from position: 45
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 44
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/EYrTO
function name:  (null)
number of ops:  46
compiled vars:  !0 = $assert
line     #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   3     0  E >   ASSIGN_OBJ                                               'Initial+settings%3A%0A'
   4     1        INIT_FCALL                                               'ini_get'
         2        SEND_VAL                                                 'zend.assertions'
         3        DO_ICALL                                         $1      
         4        CONCAT                                           ~2      'zend.assertions%3A+', $1
         5        CONCAT                                           ~3      ~2, '%0A'
         6        ASSIGN_OBJ                                               ~3
   5     7        INIT_FCALL                                               'ini_get'
         8        SEND_VAL                                                 'assert.active'
         9        DO_ICALL                                         $4      
        10        CONCAT                                           ~5      'assert.active%3A+', $4
        11        CONCAT                                           ~6      ~5, '%0A'
        12        ASSIGN_OBJ                                               ~6
   7    13        INIT_FCALL                                               'ini_set'
        14        SEND_VAL                                                 'zend.assertions'
        15        SEND_VAL                                                 0
        16        DO_ICALL                                                 
   8    17        INIT_FCALL                                               'assert_options'
        18        SEND_VAL                                                 1
        19        SEND_VAL                                                 0
        20        DO_ICALL                                                 
  10    21        ASSIGN_OBJ                                               'After+altering+settings%3A%0A'
  11    22        INIT_FCALL                                               'ini_get'
        23        SEND_VAL                                                 'zend.assertions'
        24        DO_ICALL                                         $9      
        25        CONCAT                                           ~10     'zend.assertions%3A+', $9
        26        CONCAT                                           ~11     ~10, '%0A'
        27        ASSIGN_OBJ                                               ~11
  12    28        INIT_FCALL                                               'ini_get'
        29        SEND_VAL                                                 'assert.active'
        30        DO_ICALL                                         $12     
        31        CONCAT                                           ~13     'assert.active%3A+', $12
        32        CONCAT                                           ~14     ~13, '%0A'
        33        ASSIGN_OBJ                                               ~14
  14    34        QM_ASSIGN                                                !0
  15    35        ASSERT_CHECK                                             
        36        INIT_FCALL                                               'assert'
        37        QM_ASSIGN                                        $16     !0
        38        SEND_VAR                                                 $16
        39        SEND_VAL                                                 'assert%28%24assert+%3D+true%29'
        40        DO_ICALL                                                 
  17    41      > JMPZ                                                     !0, ->44
  18    42    >   ASSIGN_OBJ                                               'Code+in+assert%28%29+was+evaluated%0A'
        43      > JMP                                                      ->45
  20    44    >   ASSIGN_OBJ                                               'Code+in+assert%28%29+was+NOT+evaluated%0A'
        45    > > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 7.4.0