3v4l.org

run code in 300+ PHP versions simultaneously
<?php $values = [ #ints 0,1,2,-1,-2, #floats 0.0,0.1,0.2,1.0,1.1,2.0,2.1, -0.1,-0.2,-1.0,-1.1,-2.0,-2.1, #strings "", "a", "0","@","NULL", #bool true, false, #array [], ["a"],[[]], #object new stdClass, #null NULL,"\0", function(){}, ]; foreach($values as $k => $v){ if(is_scalar($v)){ $j = new stdClass; $j->p = $v; $test[] = $j; } } foreach($values as $k => $v){ echo (string) $v ?: "fail - $v", "\n"; }
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 37, Position 2 = 49
Branch analysis from position: 37
2 jumps found. (Code = 78) Position 1 = 38, Position 2 = 49
Branch analysis from position: 38
2 jumps found. (Code = 43) Position 1 = 41, Position 2 = 48
Branch analysis from position: 41
1 jumps found. (Code = 42) Position 1 = 37
Branch analysis from position: 37
Branch analysis from position: 48
Branch analysis from position: 49
2 jumps found. (Code = 77) Position 1 = 51, Position 2 = 61
Branch analysis from position: 51
2 jumps found. (Code = 78) Position 1 = 52, Position 2 = 61
Branch analysis from position: 52
1 jumps found. (Code = 42) Position 1 = 51
Branch analysis from position: 51
Branch analysis from position: 61
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 61
Branch analysis from position: 49
filename:       /in/gUPrp
function name:  (null)
number of ops:  63
compiled vars:  !0 = $values, !1 = $v, !2 = $k, !3 = $j, !4 = $test
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    5     0  E >   INIT_ARRAY                                       ~5      0
          1        ADD_ARRAY_ELEMENT                                ~5      1
          2        ADD_ARRAY_ELEMENT                                ~5      2
          3        ADD_ARRAY_ELEMENT                                ~5      -1
          4        ADD_ARRAY_ELEMENT                                ~5      -2
    7     5        ADD_ARRAY_ELEMENT                                ~5      0
          6        ADD_ARRAY_ELEMENT                                ~5      0.1
          7        ADD_ARRAY_ELEMENT                                ~5      0.2
          8        ADD_ARRAY_ELEMENT                                ~5      1
          9        ADD_ARRAY_ELEMENT                                ~5      1.1
         10        ADD_ARRAY_ELEMENT                                ~5      2
         11        ADD_ARRAY_ELEMENT                                ~5      2.1
    5    12        ADD_ARRAY_ELEMENT                                ~5      -0.1
         13        ADD_ARRAY_ELEMENT                                ~5      -0.2
         14        ADD_ARRAY_ELEMENT                                ~5      -1
         15        ADD_ARRAY_ELEMENT                                ~5      -1.1
         16        ADD_ARRAY_ELEMENT                                ~5      -2
         17        ADD_ARRAY_ELEMENT                                ~5      -2.1
   10    18        ADD_ARRAY_ELEMENT                                ~5      ''
         19        ADD_ARRAY_ELEMENT                                ~5      'a'
         20        ADD_ARRAY_ELEMENT                                ~5      '0'
         21        ADD_ARRAY_ELEMENT                                ~5      '%40'
         22        ADD_ARRAY_ELEMENT                                ~5      'NULL'
    5    23        ADD_ARRAY_ELEMENT                                ~5      <true>
         24        ADD_ARRAY_ELEMENT                                ~5      <false>
         25        ADD_ARRAY_ELEMENT                                ~5      <array>
         26        ADD_ARRAY_ELEMENT                                ~5      <array>
         27        ADD_ARRAY_ELEMENT                                ~5      <array>
   16    28        NEW                                              $6      'stdClass'
         29        DO_FCALL                                      0          
         30        ADD_ARRAY_ELEMENT                                ~5      $6
    5    31        ADD_ARRAY_ELEMENT                                ~5      null
   18    32        ADD_ARRAY_ELEMENT                                ~5      '%00'
   19    33        DECLARE_LAMBDA_FUNCTION                                  '%00%7Bclosure%7D%2Fin%2FgUPrp%3A19%240'
         34        ADD_ARRAY_ELEMENT                                ~5      ~8
    3    35        ASSIGN                                                   !0, ~5
   22    36      > FE_RESET_R                                       $10     !0, ->49
         37    > > FE_FETCH_R                                       ~11     $10, !1, ->49
         38    >   ASSIGN                                                   !2, ~11
   23    39        TYPE_CHECK                                  124          !1
         40      > JMPZ                                                     ~13, ->48
   24    41    >   NEW                                              $14     'stdClass'
         42        DO_FCALL                                      0          
         43        ASSIGN                                                   !3, $14
   25    44        ASSIGN_OBJ                                               !3, 'p'
         45        OP_DATA                                                  !1
   26    46        ASSIGN_DIM                                               !4
         47        OP_DATA                                                  !3
   22    48    > > JMP                                                      ->37
         49    >   FE_FREE                                                  $10
   30    50      > FE_RESET_R                                       $19     !0, ->61
         51    > > FE_FETCH_R                                       ~20     $19, !1, ->61
         52    >   ASSIGN                                                   !2, ~20
   31    53        CAST                                          6  ~22     !1
         54        JMP_SET                                          ~23     ~22, ->58
         55        NOP                                                      
         56        FAST_CONCAT                                      ~24     'fail+-+', !1
         57        QM_ASSIGN                                        ~23     ~24
         58        ECHO                                                     ~23
         59        ECHO                                                     '%0A'
   30    60      > JMP                                                      ->51
         61    >   FE_FREE                                                  $19
   32    62      > RETURN                                                   1

Function %00%7Bclosure%7D%2Fin%2FgUPrp%3A19%240:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/gUPrp
function name:  {closure}
number of ops:  1
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   19     0  E > > RETURN                                                   null

End of function %00%7Bclosure%7D%2Fin%2FgUPrp%3A19%240

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
150.43 ms | 1399 KiB | 16 Q