3v4l.org

run code in 300+ PHP versions simultaneously
<?php $a = 'აბგდევზთიკლმნოპჟრსტუფქღყშჩცძწჭხჯჰ'; $alphabet_length = strlen($a); $random = openssl_random_pseudo_bytes($len); $password = ''; $len = 8; for ($i = 0; $i < $len; ++$i) { $password .= $alphabet[ord($random[$i]) % $alphabet_length]; } var_dump($password);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 19
Branch analysis from position: 19
2 jumps found. (Code = 44) Position 1 = 21, Position 2 = 11
Branch analysis from position: 21
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 11
2 jumps found. (Code = 44) Position 1 = 21, Position 2 = 11
Branch analysis from position: 21
Branch analysis from position: 11
filename:       /in/mrrkj
function name:  (null)
number of ops:  25
compiled vars:  !0 = $a, !1 = $alphabet_length, !2 = $random, !3 = $len, !4 = $password, !5 = $i, !6 = $alphabet
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, '%E1%83%90%E1%83%91%E1%83%92%E1%83%93%E1%83%94%E1%83%95%E1%83%96%E1%83%97%E1%83%98%E1%83%99%E1%83%9A%E1%83%9B%E1%83%9C%E1%83%9D%E1%83%9E%E1%83%9F%E1%83%A0%E1%83%A1%E1%83%A2%E1%83%A3%E1%83%A4%E1%83%A5%E1%83%A6%E1%83%A7%E1%83%A8%E1%83%A9%E1%83%AA%E1%83%AB%E1%83%AC%E1%83%AD%E1%83%AE%E1%83%AF%E1%83%B0'
    3     1        STRLEN                                           ~8      !0
          2        ASSIGN                                                   !1, ~8
    4     3        INIT_FCALL_BY_NAME                                       'openssl_random_pseudo_bytes'
          4        SEND_VAR_EX                                              !3
          5        DO_FCALL                                      0  $10     
          6        ASSIGN                                                   !2, $10
    5     7        ASSIGN                                                   !4, ''
    6     8        ASSIGN                                                   !3, 8
    7     9        ASSIGN                                                   !5, 0
         10      > JMP                                                      ->19
    8    11    >   INIT_FCALL                                               'ord'
         12        FETCH_DIM_R                                      ~15     !2, !5
         13        SEND_VAL                                                 ~15
         14        DO_ICALL                                         $16     
         15        MOD                                              ~17     $16, !1
         16        FETCH_DIM_R                                      ~18     !6, ~17
         17        ASSIGN_OP                                     8          !4, ~18
    7    18        PRE_INC                                                  !5
         19    >   IS_SMALLER                                               !5, !3
         20      > JMPNZ                                                    ~21, ->11
   10    21    >   INIT_FCALL                                               'var_dump'
         22        SEND_VAR                                                 !4
         23        DO_ICALL                                                 
         24      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
190.52 ms | 1396 KiB | 17 Q