3v4l.org

run code in 300+ PHP versions simultaneously
<?php // TL;DR : $output = (intval($x,2) & 1); $a = '123'; $b = '42'; $c= '033'; $d ='0x007'; $e = '010'; $f = '0'; $g= '1'; $h = ''; $i = ' '; $j = "\0"; $k = PHP_INT_MAX; $l = PHP_INT_MIN; $m = PHP_FLOAT_MAX; $n = PHP_FLOAT_MIN; echo implode(PHP_EOL, array_map(fn($item) => 'input : ' . $item . str_repeat('.', strlen($m) - ($item === "\0" ? 0 : strlen($item))) . ' output: ' . (intval($item,2) & 1), [$a,$b,$c,$d,$e,$f,$g,$h,$i,$j,$k,$l,$m,$n]));
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/K8bUc
function name:  (null)
number of ops:  40
compiled vars:  !0 = $a, !1 = $b, !2 = $c, !3 = $d, !4 = $e, !5 = $f, !6 = $g, !7 = $h, !8 = $i, !9 = $j, !10 = $k, !11 = $l, !12 = $m, !13 = $n
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    6     0  E >   ASSIGN                                                   !0, '123'
    7     1        ASSIGN                                                   !1, '42'
    8     2        ASSIGN                                                   !2, '033'
    9     3        ASSIGN                                                   !3, '0x007'
   10     4        ASSIGN                                                   !4, '010'
   11     5        ASSIGN                                                   !5, '0'
   12     6        ASSIGN                                                   !6, '1'
   13     7        ASSIGN                                                   !7, ''
   14     8        ASSIGN                                                   !8, '+'
   15     9        ASSIGN                                                   !9, '%00'
   16    10        ASSIGN                                                   !10, 9223372036854775807
   17    11        ASSIGN                                                   !11, -9223372036854775808
   18    12        ASSIGN                                                   !12, 1.79769e+308
   19    13        ASSIGN                                                   !13, 2.22507e-308
   22    14        INIT_FCALL                                               'implode'
         15        SEND_VAL                                                 '%0A'
         16        INIT_FCALL                                               'array_map'
         17        DECLARE_LAMBDA_FUNCTION                          ~28     [0]
         18        BIND_LEXICAL                                             ~28, !12
         19        SEND_VAL                                                 ~28
         20        INIT_ARRAY                                       ~29     !0
         21        ADD_ARRAY_ELEMENT                                ~29     !1
         22        ADD_ARRAY_ELEMENT                                ~29     !2
         23        ADD_ARRAY_ELEMENT                                ~29     !3
         24        ADD_ARRAY_ELEMENT                                ~29     !4
         25        ADD_ARRAY_ELEMENT                                ~29     !5
         26        ADD_ARRAY_ELEMENT                                ~29     !6
         27        ADD_ARRAY_ELEMENT                                ~29     !7
         28        ADD_ARRAY_ELEMENT                                ~29     !8
         29        ADD_ARRAY_ELEMENT                                ~29     !9
         30        ADD_ARRAY_ELEMENT                                ~29     !10
         31        ADD_ARRAY_ELEMENT                                ~29     !11
         32        ADD_ARRAY_ELEMENT                                ~29     !12
         33        ADD_ARRAY_ELEMENT                                ~29     !13
         34        SEND_VAL                                                 ~29
         35        DO_ICALL                                         $30     
         36        SEND_VAR                                                 $30
         37        DO_ICALL                                         $31     
         38        ECHO                                                     $31
         39      > RETURN                                                   1


Dynamic Functions:
Dynamic Function 0
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 8, Position 2 = 10
Branch analysis from position: 8
1 jumps found. (Code = 42) Position 1 = 12
Branch analysis from position: 12
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 10
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/K8bUc
function name:  {closure}
number of ops:  25
compiled vars:  !0 = $item, !1 = $m
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
          0  E >   RECV                                             !0      
          1        BIND_STATIC                                              !1
          2        CONCAT                                           ~2      'input+%3A+', !0
          3        INIT_FCALL                                               'str_repeat'
          4        SEND_VAL                                                 '.'
          5        STRLEN                                           ~3      !1
          6        IS_IDENTICAL                                             !0, '%00'
          7      > JMPZ                                                     ~4, ->10
          8    >   QM_ASSIGN                                        ~5      0
          9      > JMP                                                      ->12
         10    >   STRLEN                                           ~6      !0
         11        QM_ASSIGN                                        ~5      ~6
         12    >   SUB                                              ~7      ~3, ~5
         13        SEND_VAL                                                 ~7
         14        DO_ICALL                                         $8      
         15        CONCAT                                           ~9      ~2, $8
         16        CONCAT                                           ~10     ~9, '+output%3A+'
         17        INIT_FCALL                                               'intval'
         18        SEND_VAR                                                 !0
         19        SEND_VAL                                                 2
         20        DO_ICALL                                         $11     
         21        BW_AND                                           ~12     $11, 1
         22        CONCAT                                           ~13     ~10, ~12
         23      > RETURN                                                   ~13
         24*     > RETURN                                                   null

End of Dynamic Function 0

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
149.6 ms | 1024 KiB | 17 Q