3v4l.org

run code in 500+ PHP versions simultaneously
<?php $post = []; //without casting $post['a'] = '1'; $a = $post['a'] ?? 0; var_dump($a); $post['a'] = '1'; $a = $post['a'] ?? false; var_dump($a); //with casting $post['a'] = '1'; $a = (int)$post['a'] ?? 0; var_dump($a); $post['a'] = '1'; $a = (bool)$post['a'] ?? false; var_dump($a);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/JiPcR
function name:  (null)
number of ops:  40
compiled vars:  !0 = $post, !1 = $a
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                       !0, <array>
    6     1        ASSIGN_DIM                                                   !0, 'a'
          2        OP_DATA                                                      '1'
    7     3        FETCH_DIM_IS                                         ~4      !0, 'a'
          4        COALESCE                                             ~5      ~4
          5        QM_ASSIGN                                            ~5      0
          6        ASSIGN                                                       !1, ~5
    8     7        INIT_FCALL                                                   'var_dump'
          8        SEND_VAR                                                     !1
          9        DO_ICALL                                                     
   10    10        ASSIGN_DIM                                                   !0, 'a'
         11        OP_DATA                                                      '1'
   11    12        FETCH_DIM_IS                                         ~9      !0, 'a'
         13        COALESCE                                             ~10     ~9
         14        QM_ASSIGN                                            ~10     <false>
         15        ASSIGN                                                       !1, ~10
   12    16        INIT_FCALL                                                   'var_dump'
         17        SEND_VAR                                                     !1
         18        DO_ICALL                                                     
   15    19        ASSIGN_DIM                                                   !0, 'a'
         20        OP_DATA                                                      '1'
   16    21        FETCH_DIM_R                                          ~14     !0, 'a'
         22        CAST                                              4  ~15     ~14
         23        COALESCE                                             ~16     ~15
         24        QM_ASSIGN                                            ~16     0
         25        ASSIGN                                                       !1, ~16
   17    26        INIT_FCALL                                                   'var_dump'
         27        SEND_VAR                                                     !1
         28        DO_ICALL                                                     
   19    29        ASSIGN_DIM                                                   !0, 'a'
         30        OP_DATA                                                      '1'
   20    31        FETCH_DIM_R                                          ~20     !0, 'a'
         32        BOOL                                                 ~21     ~20
         33        COALESCE                                             ~22     ~21
         34        QM_ASSIGN                                            ~22     <false>
         35        ASSIGN                                                       !1, ~22
   21    36        INIT_FCALL                                                   'var_dump'
         37        SEND_VAR                                                     !1
         38        DO_ICALL                                                     
         39      > RETURN                                                       1

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
167.91 ms | 2033 KiB | 14 Q