3v4l.org

run code in 500+ PHP versions simultaneously
<?php // Staring straight up into the sky ... oh my my error_reporting(-1); mb_internal_encoding('utf-8'); /* Возвращает соответствующую числу форму слова: 1 рубль, 2 рубля, 5 рублей */ function inclineWord($number, $word1, $word2, $word3) { if ($number % 100 >= 10 && $number % 100 <= 19) { return $word3; } elseif ($number % 10 >= 2 && $number % 10 <= 4) { return $word2; } elseif ($number % 10 == 1) { return $word1; } else { return $word3; } } /* Преобразует числа от 0 до 999 в текст. Параметр $isFemale равен нулю, если мы считаем число для мужского рода (один рубль), и 1 — для женского (одна тысяча) */ function smallNumberToText($number, $isFemale) { $spelling = array( 0 => 'ноль', 10 => 'десять', 100 => 'сто', 1 => 'один', 11 => 'одиннадцать', 20 => 'двадцать', 200 => 'двести', 2 => 'два', 12 => 'двенадцать', 30 => 'тридцать', 300 => 'триста', 3 => 'три', 13 => 'тринадцать', 40 => 'сорок', 400 => 'четыреста', 4 => 'четыре', 14 => 'четырнадцать', 50 => 'пятьдесят', 500 => 'пятьсот', 5 => 'пять', 15 => 'пятнадцать', 60 => 'шестьдесят', 600 => 'шестьсот', 6 => 'шесть', 16 => 'шестнадцать', 70 => 'семьдесят', 700 => 'семьсот', 7 => 'семь', 17 => 'семнадцать', 80 => 'восемьдесят', 800 => 'восемьсот', 8 => 'восемь', 18 => 'восемнадцать', 90 => 'девяносто', 900 => 'девятьсот', 9 => 'девять', 19 => 'девятнадцать' ); $femaleSpelling = array( 1 => 'одна', 2 => 'две' ); $text = ""; if ($number > 100) { $reviewNumber = floor($number / 100) * 100; $text = $text." ".$spelling[$reviewNumber]; $number %= 100; } if ($number >= 10 && $number <= 19) { return $text." ".$spelling[$number]; } elseif ($number > 10) { $reviewNumber = floor($number / 10) * 10; $text = $text." ".$spelling[$reviewNumber]; $number %= 10; } if ($isFemale == 1 && $number == 1) { $text = $text." ".$femaleSpelling[1]; } elseif ($isFemale == 1 && $number == 2) { $text = $text." ".$femaleSpelling[2]; } elseif ($number > 0) { $text = $text." ".$spelling[$number]; } return $text; } function numberToText($number) { $baseNumber = $number; $text = ""; if ($number == 0) { return "ноль (0) рублей"; exit; } if (floor($number / 1000000) >= 1) { $numberIterationToSplit = 3; } elseif (floor($number / 1000) >= 1) { $numberIterationToSplit = 2; } else { $numberIterationToSplit = 1; } for ($i = 0; $i < $numberIterationToSplit; $i++) { if ($number % 1000 == 0 && $i != 0) { $number = floor($number / 1000); continue; } if ($i == 1) { $isFemale = 1; } else { $isFemale = 0; } if ($i == 0){ $wordForNumber = "(".$baseNumber.") ".inclineWord($number, "рубль", "рубля", "рублей"); } elseif ($i == 1) { $wordForNumber = inclineWord($number, "тысяча", "тысячи", "тысяч"); } else { $wordForNumber = inclineWord($number, "миллион", "миллиона", "миллионов"); } $text = smallNumberToText($number % 1000, $isFemale)." ".$wordForNumber.$text; $number = floor($number / 1000); } return $text; } /* Вызовем функцию несколько раз */ $amount1 = mt_rand(1,99999999); $text1 = numberToText($amount1); echo "На вашем счету{$text1}\n"; $amount2 = mt_rand(1,99999999); $text2 = numberToText($amount2); echo "На вашем счету{$text2}\n"; $amount3 = mt_rand(1,99999999); $text3 = numberToText($amount3); echo "На вашем счету{$text3}\n"; $amount4 = mt_rand(1,99999999); $text4 = numberToText($amount4); echo "На вашем счету{$text4}\n";
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/NSeMe
function name:  (null)
number of ops:  59
compiled vars:  !0 = $amount1, !1 = $text1, !2 = $amount2, !3 = $text2, !4 = $amount3, !5 = $text3, !6 = $amount4, !7 = $text4
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    4     0  E >   INIT_FCALL                                                   'error_reporting'
          1        SEND_VAL                                                     -1
          2        DO_ICALL                                                     
    5     3        INIT_FCALL                                                   'mb_internal_encoding'
          4        SEND_VAL                                                     'utf-8'
          5        DO_ICALL                                                     
  120     6        INIT_FCALL                                                   'mt_rand'
          7        SEND_VAL                                                     1
          8        SEND_VAL                                                     99999999
          9        DO_ICALL                                             $10     
         10        ASSIGN                                                       !0, $10
  121    11        INIT_FCALL                                                   'numbertotext'
         12        SEND_VAR                                                     !0
         13        DO_FCALL                                          0  $12     
         14        ASSIGN                                                       !1, $12
  123    15        ROPE_INIT                                         3  ~15     '%D0%9D%D0%B0+%D0%B2%D0%B0%D1%88%D0%B5%D0%BC+%D1%81%D1%87%D0%B5%D1%82%D1%83'
         16        ROPE_ADD                                          1  ~15     ~15, !1
         17        ROPE_END                                          2  ~14     ~15, '%0A'
         18        ECHO                                                         ~14
  125    19        INIT_FCALL                                                   'mt_rand'
         20        SEND_VAL                                                     1
         21        SEND_VAL                                                     99999999
         22        DO_ICALL                                             $17     
         23        ASSIGN                                                       !2, $17
  126    24        INIT_FCALL                                                   'numbertotext'
         25        SEND_VAR                                                     !2
         26        DO_FCALL                                          0  $19     
         27        ASSIGN                                                       !3, $19
  128    28        ROPE_INIT                                         3  ~22     '%D0%9D%D0%B0+%D0%B2%D0%B0%D1%88%D0%B5%D0%BC+%D1%81%D1%87%D0%B5%D1%82%D1%83'
         29        ROPE_ADD                                          1  ~22     ~22, !3
         30        ROPE_END                                          2  ~21     ~22, '%0A'
         31        ECHO                                                         ~21
  130    32        INIT_FCALL                                                   'mt_rand'
         33        SEND_VAL                                                     1
         34        SEND_VAL                                                     99999999
         35        DO_ICALL                                             $24     
         36        ASSIGN                                                       !4, $24
  131    37        INIT_FCALL                                                   'numbertotext'
         38        SEND_VAR                                                     !4
         39        DO_FCALL                                          0  $26     
         40        ASSIGN                                                       !5, $26
  133    41        ROPE_INIT                                         3  ~29     '%D0%9D%D0%B0+%D0%B2%D0%B0%D1%88%D0%B5%D0%BC+%D1%81%D1%87%D0%B5%D1%82%D1%83'
         42        ROPE_ADD                                          1  ~29     ~29, !5
         43        ROPE_END                                          2  ~28     ~29, '%0A'
         44        ECHO                                                         ~28
  135    45        INIT_FCALL                                                   'mt_rand'
         46        SEND_VAL                                                     1
         47        SEND_VAL                                                     99999999
         48        DO_ICALL                                             $31     
         49        ASSIGN                                                       !6, $31
  136    50        INIT_FCALL                                                   'numbertotext'
         51        SEND_VAR                                                     !6
         52        DO_FCALL                                          0  $33     
         53        ASSIGN                                                       !7, $33
  138    54        ROPE_INIT                                         3  ~36     '%D0%9D%D0%B0+%D0%B2%D0%B0%D1%88%D0%B5%D0%BC+%D1%81%D1%87%D0%B5%D1%82%D1%83'
         55        ROPE_ADD                                          1  ~36     ~36, !7
         56        ROPE_END                                          2  ~35     ~36, '%0A'
         57        ECHO                                                         ~35
         58      > RETURN                                                       1

Function inclineword:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 46) Position 1 = 7, Position 2 = 10
Branch analysis from position: 7
2 jumps found. (Code = 43) Position 1 = 11, Position 2 = 13
Branch analysis from position: 11
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 13
2 jumps found. (Code = 46) Position 1 = 16, Position 2 = 19
Branch analysis from position: 16
2 jumps found. (Code = 43) Position 1 = 20, Position 2 = 22
Branch analysis from position: 20
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 22
2 jumps found. (Code = 43) Position 1 = 25, Position 2 = 27
Branch analysis from position: 25
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 27
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 19
Branch analysis from position: 10
filename:       /in/NSeMe
function name:  inclineWord
number of ops:  29
compiled vars:  !0 = $number, !1 = $word1, !2 = $word2, !3 = $word3
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    9     0  E >   RECV                                                 !0      
          1        RECV                                                 !1      
          2        RECV                                                 !2      
          3        RECV                                                 !3      
   10     4        MOD                                                  ~4      !0, 100
          5        IS_SMALLER_OR_EQUAL                                  ~5      10, ~4
          6      > JMPZ_EX                                              ~5      ~5, ->10
          7    >   MOD                                                  ~6      !0, 100
          8        IS_SMALLER_OR_EQUAL                                  ~7      ~6, 19
          9        BOOL                                                 ~5      ~7
         10    > > JMPZ                                                         ~5, ->13
   11    11    > > RETURN                                                       !3
   10    12*       JMP                                                          ->28
   12    13    >   MOD                                                  ~8      !0, 10
         14        IS_SMALLER_OR_EQUAL                                  ~9      2, ~8
         15      > JMPZ_EX                                              ~9      ~9, ->19
         16    >   MOD                                                  ~10     !0, 10
         17        IS_SMALLER_OR_EQUAL                                  ~11     ~10, 4
         18        BOOL                                                 ~9      ~11
         19    > > JMPZ                                                         ~9, ->22
   13    20    > > RETURN                                                       !2
   12    21*       JMP                                                          ->28
   14    22    >   MOD                                                  ~12     !0, 10
         23        IS_EQUAL                                                     ~12, 1
         24      > JMPZ                                                         ~13, ->27
   15    25    > > RETURN                                                       !1
   14    26*       JMP                                                          ->28
   17    27    > > RETURN                                                       !3
   19    28*     > RETURN                                                       null

End of function inclineword

Function smallnumbertotext:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 7, Position 2 = 18
Branch analysis from position: 7
2 jumps found. (Code = 46) Position 1 = 20, Position 2 = 22
Branch analysis from position: 20
2 jumps found. (Code = 43) Position 1 = 23, Position 2 = 28
Branch analysis from position: 23
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 28
2 jumps found. (Code = 43) Position 1 = 30, Position 2 = 41
Branch analysis from position: 30
2 jumps found. (Code = 46) Position 1 = 43, Position 2 = 45
Branch analysis from position: 43
2 jumps found. (Code = 43) Position 1 = 46, Position 2 = 51
Branch analysis from position: 46
1 jumps found. (Code = 42) Position 1 = 67
Branch analysis from position: 67
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 51
2 jumps found. (Code = 46) Position 1 = 53, Position 2 = 55
Branch analysis from position: 53
2 jumps found. (Code = 43) Position 1 = 56, Position 2 = 61
Branch analysis from position: 56
1 jumps found. (Code = 42) Position 1 = 67
Branch analysis from position: 67
Branch analysis from position: 61
2 jumps found. (Code = 43) Position 1 = 63, Position 2 = 67
Branch analysis from position: 63
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 67
Branch analysis from position: 55
Branch analysis from position: 45
Branch analysis from position: 41
Branch analysis from position: 22
Branch analysis from position: 18
filename:       /in/NSeMe
function name:  smallNumberToText
number of ops:  69
compiled vars:  !0 = $number, !1 = $isFemale, !2 = $spelling, !3 = $femaleSpelling, !4 = $text, !5 = $reviewNumber
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   26     0  E >   RECV                                                 !0      
          1        RECV                                                 !1      
   28     2        ASSIGN                                                       !2, <array>
   41     3        ASSIGN                                                       !3, <array>
   45     4        ASSIGN                                                       !4, ''
   47     5        IS_SMALLER                                                   100, !0
          6      > JMPZ                                                         ~9, ->18
   48     7    >   INIT_FCALL                                                   'floor'
          8        DIV                                                  ~10     !0, 100
          9        SEND_VAL                                                     ~10
         10        DO_ICALL                                             $11     
         11        MUL                                                  ~12     $11, 100
         12        ASSIGN                                                       !5, ~12
   49    13        CONCAT                                               ~14     !4, '+'
         14        FETCH_DIM_R                                          ~15     !2, !5
         15        CONCAT                                               ~16     ~14, ~15
         16        ASSIGN                                                       !4, ~16
   50    17        ASSIGN_OP                                         5          !0, 100
   53    18    >   IS_SMALLER_OR_EQUAL                                  ~19     10, !0
         19      > JMPZ_EX                                              ~19     ~19, ->22
         20    >   IS_SMALLER_OR_EQUAL                                  ~20     !0, 19
         21        BOOL                                                 ~19     ~20
         22    > > JMPZ                                                         ~19, ->28
   54    23    >   CONCAT                                               ~21     !4, '+'
         24        FETCH_DIM_R                                          ~22     !2, !0
         25        CONCAT                                               ~23     ~21, ~22
         26      > RETURN                                                       ~23
   53    27*       JMP                                                          ->41
   55    28    >   IS_SMALLER                                                   10, !0
         29      > JMPZ                                                         ~24, ->41
   56    30    >   INIT_FCALL                                                   'floor'
         31        DIV                                                  ~25     !0, 10
         32        SEND_VAL                                                     ~25
         33        DO_ICALL                                             $26     
         34        MUL                                                  ~27     $26, 10
         35        ASSIGN                                                       !5, ~27
   57    36        CONCAT                                               ~29     !4, '+'
         37        FETCH_DIM_R                                          ~30     !2, !5
         38        CONCAT                                               ~31     ~29, ~30
         39        ASSIGN                                                       !4, ~31
   58    40        ASSIGN_OP                                         5          !0, 10
   61    41    >   IS_EQUAL                                             ~34     !1, 1
         42      > JMPZ_EX                                              ~34     ~34, ->45
         43    >   IS_EQUAL                                             ~35     !0, 1
         44        BOOL                                                 ~34     ~35
         45    > > JMPZ                                                         ~34, ->51
   62    46    >   CONCAT                                               ~36     !4, '+'
         47        FETCH_DIM_R                                          ~37     !3, 1
         48        CONCAT                                               ~38     ~36, ~37
         49        ASSIGN                                                       !4, ~38
   61    50      > JMP                                                          ->67
   63    51    >   IS_EQUAL                                             ~40     !1, 1
         52      > JMPZ_EX                                              ~40     ~40, ->55
         53    >   IS_EQUAL                                             ~41     !0, 2
         54        BOOL                                                 ~40     ~41
         55    > > JMPZ                                                         ~40, ->61
   64    56    >   CONCAT                                               ~42     !4, '+'
         57        FETCH_DIM_R                                          ~43     !3, 2
         58        CONCAT                                               ~44     ~42, ~43
         59        ASSIGN                                                       !4, ~44
   63    60      > JMP                                                          ->67
   65    61    >   IS_SMALLER                                                   0, !0
         62      > JMPZ                                                         ~46, ->67
   66    63    >   CONCAT                                               ~47     !4, '+'
         64        FETCH_DIM_R                                          ~48     !2, !0
         65        CONCAT                                               ~49     ~47, ~48
         66        ASSIGN                                                       !4, ~49
   69    67    > > RETURN                                                       !4
   70    68*     > RETURN                                                       null

End of function smallnumbertotext

Function numbertotext:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 5, Position 2 = 8
Branch analysis from position: 5
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 8
2 jumps found. (Code = 43) Position 1 = 14, Position 2 = 16
Branch analysis from position: 14
1 jumps found. (Code = 42) Position 1 = 25
Branch analysis from position: 25
1 jumps found. (Code = 42) Position 1 = 89
Branch analysis from position: 89
2 jumps found. (Code = 44) Position 1 = 91, Position 2 = 27
Branch analysis from position: 91
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 27
2 jumps found. (Code = 46) Position 1 = 30, Position 2 = 32
Branch analysis from position: 30
2 jumps found. (Code = 43) Position 1 = 33, Position 2 = 39
Branch analysis from position: 33
1 jumps found. (Code = 42) Position 1 = 88
Branch analysis from position: 88
2 jumps found. (Code = 44) Position 1 = 91, Position 2 = 27
Branch analysis from position: 91
Branch analysis from position: 27
Branch analysis from position: 39
2 jumps found. (Code = 43) Position 1 = 41, Position 2 = 43
Branch analysis from position: 41
1 jumps found. (Code = 42) Position 1 = 44
Branch analysis from position: 44
2 jumps found. (Code = 43) Position 1 = 46, Position 2 = 57
Branch analysis from position: 46
1 jumps found. (Code = 42) Position 1 = 74
Branch analysis from position: 74
2 jumps found. (Code = 44) Position 1 = 91, Position 2 = 27
Branch analysis from position: 91
Branch analysis from position: 27
Branch analysis from position: 57
2 jumps found. (Code = 43) Position 1 = 59, Position 2 = 67
Branch analysis from position: 59
1 jumps found. (Code = 42) Position 1 = 74
Branch analysis from position: 74
Branch analysis from position: 67
2 jumps found. (Code = 44) Position 1 = 91, Position 2 = 27
Branch analysis from position: 91
Branch analysis from position: 27
Branch analysis from position: 43
2 jumps found. (Code = 43) Position 1 = 46, Position 2 = 57
Branch analysis from position: 46
Branch analysis from position: 57
Branch analysis from position: 32
Branch analysis from position: 16
2 jumps found. (Code = 43) Position 1 = 22, Position 2 = 24
Branch analysis from position: 22
1 jumps found. (Code = 42) Position 1 = 25
Branch analysis from position: 25
Branch analysis from position: 24
1 jumps found. (Code = 42) Position 1 = 89
Branch analysis from position: 89
filename:       /in/NSeMe
function name:  numberToText
number of ops:  93
compiled vars:  !0 = $number, !1 = $baseNumber, !2 = $text, !3 = $numberIterationToSplit, !4 = $i, !5 = $isFemale, !6 = $wordForNumber
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   72     0  E >   RECV                                                 !0      
   73     1        ASSIGN                                                       !1, !0
   75     2        ASSIGN                                                       !2, ''
   77     3        IS_EQUAL                                                     !0, 0
          4      > JMPZ                                                         ~9, ->8
   78     5    > > RETURN                                                       '%D0%BD%D0%BE%D0%BB%D1%8C+%280%29+%D1%80%D1%83%D0%B1%D0%BB%D0%B5%D0%B9'
   79     6*       INIT_FCALL                                                   'exit'
          7*       DO_ICALL                                                     
   82     8    >   INIT_FCALL                                                   'floor'
          9        DIV                                                  ~11     !0, 1000000
         10        SEND_VAL                                                     ~11
         11        DO_ICALL                                             $12     
         12        IS_SMALLER_OR_EQUAL                                          1, $12
         13      > JMPZ                                                         ~13, ->16
   83    14    >   ASSIGN                                                       !3, 3
   82    15      > JMP                                                          ->25
   84    16    >   INIT_FCALL                                                   'floor'
         17        DIV                                                  ~15     !0, 1000
         18        SEND_VAL                                                     ~15
         19        DO_ICALL                                             $16     
         20        IS_SMALLER_OR_EQUAL                                          1, $16
         21      > JMPZ                                                         ~17, ->24
   85    22    >   ASSIGN                                                       !3, 2
   84    23      > JMP                                                          ->25
   87    24    >   ASSIGN                                                       !3, 1
   90    25    >   ASSIGN                                                       !4, 0
         26      > JMP                                                          ->89
   91    27    >   MOD                                                  ~21     !0, 1000
         28        IS_EQUAL                                             ~22     ~21, 0
         29      > JMPZ_EX                                              ~22     ~22, ->32
         30    >   IS_NOT_EQUAL                                         ~23     !4, 0
         31        BOOL                                                 ~22     ~23
         32    > > JMPZ                                                         ~22, ->39
   92    33    >   INIT_FCALL                                                   'floor'
         34        DIV                                                  ~24     !0, 1000
         35        SEND_VAL                                                     ~24
         36        DO_ICALL                                             $25     
         37        ASSIGN                                                       !0, $25
   93    38      > JMP                                                          ->88
   96    39    >   IS_EQUAL                                                     !4, 1
         40      > JMPZ                                                         ~27, ->43
   97    41    >   ASSIGN                                                       !5, 1
   96    42      > JMP                                                          ->44
   99    43    >   ASSIGN                                                       !5, 0
  102    44    >   IS_EQUAL                                                     !4, 0
         45      > JMPZ                                                         ~30, ->57
  103    46    >   CONCAT                                               ~31     '%28', !1
         47        CONCAT                                               ~32     ~31, '%29+'
         48        INIT_FCALL                                                   'inclineword'
         49        SEND_VAR                                                     !0
         50        SEND_VAL                                                     '%D1%80%D1%83%D0%B1%D0%BB%D1%8C'
         51        SEND_VAL                                                     '%D1%80%D1%83%D0%B1%D0%BB%D1%8F'
         52        SEND_VAL                                                     '%D1%80%D1%83%D0%B1%D0%BB%D0%B5%D0%B9'
         53        DO_FCALL                                          0  $33     
         54        CONCAT                                               ~34     ~32, $33
         55        ASSIGN                                                       !6, ~34
  102    56      > JMP                                                          ->74
  104    57    >   IS_EQUAL                                                     !4, 1
         58      > JMPZ                                                         ~36, ->67
  105    59    >   INIT_FCALL                                                   'inclineword'
         60        SEND_VAR                                                     !0
         61        SEND_VAL                                                     '%D1%82%D1%8B%D1%81%D1%8F%D1%87%D0%B0'
         62        SEND_VAL                                                     '%D1%82%D1%8B%D1%81%D1%8F%D1%87%D0%B8'
         63        SEND_VAL                                                     '%D1%82%D1%8B%D1%81%D1%8F%D1%87'
         64        DO_FCALL                                          0  $37     
         65        ASSIGN                                                       !6, $37
  104    66      > JMP                                                          ->74
  107    67    >   INIT_FCALL                                                   'inclineword'
         68        SEND_VAR                                                     !0
         69        SEND_VAL                                                     '%D0%BC%D0%B8%D0%BB%D0%BB%D0%B8%D0%BE%D0%BD'
         70        SEND_VAL                                                     '%D0%BC%D0%B8%D0%BB%D0%BB%D0%B8%D0%BE%D0%BD%D0%B0'
         71        SEND_VAL                                                     '%D0%BC%D0%B8%D0%BB%D0%BB%D0%B8%D0%BE%D0%BD%D0%BE%D0%B2'
         72        DO_FCALL                                          0  $39     
         73        ASSIGN                                                       !6, $39
  110    74    >   INIT_FCALL                                                   'smallnumbertotext'
         75        MOD                                                  ~41     !0, 1000
         76        SEND_VAL                                                     ~41
         77        SEND_VAR                                                     !5
         78        DO_FCALL                                          0  $42     
         79        CONCAT                                               ~43     $42, '+'
         80        CONCAT                                               ~44     ~43, !6
         81        CONCAT                                               ~45     ~44, !2
         82        ASSIGN                                                       !2, ~45
  112    83        INIT_FCALL                                                   'floor'
         84        DIV                                                  ~47     !0, 1000
         85        SEND_VAL                                                     ~47
         86        DO_ICALL                                             $48     
         87        ASSIGN                                                       !0, $48
   90    88    >   PRE_INC                                                      !4
         89    >   IS_SMALLER                                                   !4, !3
         90      > JMPNZ                                                        ~51, ->27
  115    91    > > RETURN                                                       !2
  117    92*     > RETURN                                                       null

End of function numbertotext

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
167.73 ms | 2571 KiB | 27 Q