3v4l.org

run code in 500+ PHP versions simultaneously
<?php function absint_dennis( $maybeint ) { return min( PHP_INT_MAX, abs( (int) $maybeint ) ); } $values = array( PHP_INT_MIN, PHP_INT_MIN * 2, PHP_INT_MAX, PHP_INT_MAX * 2, ); foreach ( $values as $value ) { echo "absint( $value ) === "; var_dump( absint_dennis( $value ) ); echo "\n\n"; }
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 2, Position 2 = 15
Branch analysis from position: 2
2 jumps found. (Code = 78) Position 1 = 3, Position 2 = 15
Branch analysis from position: 3
1 jumps found. (Code = 42) Position 1 = 2
Branch analysis from position: 2
Branch analysis from position: 15
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 15
filename:       /in/VMXR3
function name:  (null)
number of ops:  17
compiled vars:  !0 = $values, !1 = $value
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    7     0  E >   ASSIGN                                                       !0, <array>
   14     1      > FE_RESET_R                                           $3      !0, ->15
          2    > > FE_FETCH_R                                                   $3, !1, ->15
   15     3    >   ROPE_INIT                                         3  ~5      'absint%28+'
          4        ROPE_ADD                                          1  ~5      ~5, !1
          5        ROPE_END                                          2  ~4      ~5, '+%29+%3D%3D%3D+'
          6        ECHO                                                         ~4
   16     7        INIT_FCALL                                                   'var_dump'
          8        INIT_FCALL                                                   'absint_dennis'
          9        SEND_VAR                                                     !1
         10        DO_FCALL                                          0  $7      
         11        SEND_VAR                                                     $7
         12        DO_ICALL                                                     
   17    13        ECHO                                                         '%0A%0A'
   14    14      > JMP                                                          ->2
         15    >   FE_FREE                                                      $3
   18    16      > RETURN                                                       1

Function absint_dennis:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/VMXR3
function name:  absint_dennis
number of ops:  8
compiled vars:  !0 = $maybeint
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    3     0  E >   RECV                                                 !0      
    4     1        INIT_FCALL                                                   'abs'
          2        CAST                                              4  ~1      !0
          3        SEND_VAL                                                     ~1
          4        DO_ICALL                                             $2      
          5        FRAMELESS_ICALL_2                min                 ~3      9223372036854775807, $2
          6      > RETURN                                                       ~3
    5     7*     > RETURN                                                       null

End of function absint_dennis

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
159.24 ms | 489 KiB | 11 Q