3v4l.org

run code in 300+ PHP versions simultaneously
<?php for ($i = -1; $i <= 24; $i++) { $bytes = openssl_random_pseudo_bytes($i, $cstrong); $hex = base64_encode($bytes); echo "Lengths: Bytes: $i and Hex: " . strlen($hex) . PHP_EOL; var_dump($hex); var_dump($cstrong); echo PHP_EOL; } ?>
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 26
Branch analysis from position: 26
2 jumps found. (Code = 44) Position 1 = 28, Position 2 = 2
Branch analysis from position: 28
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 2
2 jumps found. (Code = 44) Position 1 = 28, Position 2 = 2
Branch analysis from position: 28
Branch analysis from position: 2
filename:       /in/i2hh8
function name:  (null)
number of ops:  29
compiled vars:  !0 = $i, !1 = $bytes, !2 = $cstrong, !3 = $hex
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, -1
          1      > JMP                                                      ->26
    3     2    >   INIT_FCALL_BY_NAME                                       'openssl_random_pseudo_bytes'
          3        SEND_VAR_EX                                              !0
          4        SEND_VAR_EX                                              !2
          5        DO_FCALL                                      0  $5      
          6        ASSIGN                                                   !1, $5
    4     7        INIT_FCALL                                               'base64_encode'
          8        SEND_VAR                                                 !1
          9        DO_ICALL                                         $7      
         10        ASSIGN                                                   !3, $7
    6    11        ROPE_INIT                                     3  ~10     'Lengths%3A+Bytes%3A+'
         12        ROPE_ADD                                      1  ~10     ~10, !0
         13        ROPE_END                                      2  ~9      ~10, '+and+Hex%3A+'
         14        STRLEN                                           ~12     !3
         15        CONCAT                                           ~13     ~9, ~12
         16        CONCAT                                           ~14     ~13, '%0A'
         17        ECHO                                                     ~14
    7    18        INIT_FCALL                                               'var_dump'
         19        SEND_VAR                                                 !3
         20        DO_ICALL                                                 
    8    21        INIT_FCALL                                               'var_dump'
         22        SEND_VAR                                                 !2
         23        DO_ICALL                                                 
    9    24        ECHO                                                     '%0A'
    2    25        PRE_INC                                                  !0
         26    >   IS_SMALLER_OR_EQUAL                                      !0, 24
         27      > JMPNZ                                                    ~18, ->2
   11    28    > > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
157.02 ms | 1396 KiB | 17 Q