3v4l.org

run code in 300+ PHP versions simultaneously
<?php $callable = fn() => throw new Exception(); // $value is non-nullable. // $value = $nullableValue ?? throw new InvalidArgumentException(); // $value is truthy. $value = $falsableValue ?: throw new InvalidArgumentException(); // $value is only set if the array is not empty. $value = !empty($array) ? reset($array) : throw new InvalidArgumentException();
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 108) Position 1 = -2
filename:       /in/SbcpPR
function name:  (null)
number of ops:  22
compiled vars:  !0 = $callable, !1 = $value, !2 = $falsableValue, !3 = $array
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   DECLARE_LAMBDA_FUNCTION                                  '%00%7Bclosure%7D%2Fin%2FSbcpPR%3A3%240'
          1        ASSIGN                                                   !0, ~4
    9     2        JMP_SET                                          ~6      !2, ->7
          3        NEW                                              $7      'InvalidArgumentException'
          4        DO_FCALL                                      0          
          5      > THROW                                         1          $7
          6*       QM_ASSIGN                                        ~6      <true>
          7*       ASSIGN                                                   !1, ~6
   12     8*       ISSET_ISEMPTY_CV                                 ~10     !3
          9*       BOOL_NOT                                         ~11     ~10
         10*       JMPZ                                                     ~11, ->16
   13    11*       INIT_FCALL                                               'reset'
         12*       SEND_REF                                                 !3
         13*       DO_ICALL                                         $12     
         14*       QM_ASSIGN                                        ~13     $12
         15*       JMP                                                      ->20
   14    16*       NEW                                              $14     'InvalidArgumentException'
         17*       DO_FCALL                                      0          
         18*       THROW                                         1          $14
         19*       QM_ASSIGN                                        ~13     <true>
   12    20*       ASSIGN                                                   !1, ~13
   14    21*     > RETURN                                                   1

Function %00%7Bclosure%7D%2Fin%2FSbcpPR%3A3%240:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 108) Position 1 = -2
filename:       /in/SbcpPR
function name:  {closure}
number of ops:  5
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   NEW                                              $0      'Exception'
          1        DO_FCALL                                      0          
          2      > THROW                                         1          $0
          3*       RETURN                                                   <true>
          4*     > RETURN                                                   null

End of function %00%7Bclosure%7D%2Fin%2FSbcpPR%3A3%240

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
150.45 ms | 1400 KiB | 15 Q