3v4l.org

run code in 300+ PHP versions simultaneously
<?php function sortiraj ($niz,$a,$b) { if ($a>=$b) { return $niz; } $sredina=($a+$b)/2; $prvapolovica=sortiraj($niz,$a,$sredina); $drugapolovica=sortiraj($niz,$sredina+1,$b); return spoji($prvapolovica,$drugapolovica); } function spoji($prvapolovica,$drugapolovica) { $i=0;$j=0;$k=0; while(($i<count($prvapolovica))||($j<count($drugapolovica))) { if (isset($prvapolovica[$i]) && isset($drugapolovica[$j])){ if($prvapolovica[$i]<$drugapolovica[$j]){ $konacno[$k]=$prvapolovica[$i];$i++;} else{ $konacno[$k]=$drugapolovica[$j]; $j++;} ++$k;} if (!isset($prvapolovica[$i])){ $konacno[$k]=$drugapolovica[$j]; $j++;++$k;} else if(!isset($drugapolovica[$j])){ $konacno[$k]=$prvapolovica[$i]; $i++;++$k;}} return $konacno; } $niz=array(45,07,36,47,37,84,35); echo sortiraj($niz,0,count($niz)-1);

Abusive script

This script was stopped while abusing our resources

Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/clFon
function name:  (null)
number of ops:  10
compiled vars:  !0 = $niz
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   34     0  E >   ASSIGN                                                   !0, <array>
   35     1        INIT_FCALL                                               'sortiraj'
          2        SEND_VAR                                                 !0
          3        SEND_VAL                                                 0
          4        COUNT                                            ~2      !0
          5        SUB                                              ~3      ~2, 1
          6        SEND_VAL                                                 ~3
          7        DO_FCALL                                      0  $4      
          8        ECHO                                                     $4
          9      > RETURN                                                   1

Function sortiraj:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 5, Position 2 = 6
Branch analysis from position: 5
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 6
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/clFon
function name:  sortiraj
number of ops:  28
compiled vars:  !0 = $niz, !1 = $a, !2 = $b, !3 = $sredina, !4 = $prvapolovica, !5 = $drugapolovica
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   RECV                                             !0      
          1        RECV                                             !1      
          2        RECV                                             !2      
    5     3        IS_SMALLER_OR_EQUAL                                      !2, !1
          4      > JMPZ                                                     ~6, ->6
    6     5    > > RETURN                                                   !0
    8     6    >   ADD                                              ~7      !1, !2
          7        DIV                                              ~8      ~7, 2
          8        ASSIGN                                                   !3, ~8
    9     9        INIT_FCALL_BY_NAME                                       'sortiraj'
         10        SEND_VAR_EX                                              !0
         11        SEND_VAR_EX                                              !1
         12        SEND_VAR_EX                                              !3
         13        DO_FCALL                                      0  $10     
         14        ASSIGN                                                   !4, $10
   10    15        INIT_FCALL_BY_NAME                                       'sortiraj'
         16        SEND_VAR_EX                                              !0
         17        ADD                                              ~12     !3, 1
         18        SEND_VAL_EX                                              ~12
         19        SEND_VAR_EX                                              !2
         20        DO_FCALL                                      0  $13     
         21        ASSIGN                                                   !5, $13
   11    22        INIT_FCALL_BY_NAME                                       'spoji'
         23        SEND_VAR_EX                                              !4
         24        SEND_VAR_EX                                              !5
         25        DO_FCALL                                      0  $15     
         26      > RETURN                                                   $15
   12    27*     > RETURN                                                   null

End of function sortiraj

Function spoji:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 42
Branch analysis from position: 42
2 jumps found. (Code = 47) Position 1 = 45, Position 2 = 48
Branch analysis from position: 45
2 jumps found. (Code = 44) Position 1 = 49, Position 2 = 6
Branch analysis from position: 49
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 6
2 jumps found. (Code = 46) Position 1 = 8, Position 2 = 10
Branch analysis from position: 8
2 jumps found. (Code = 43) Position 1 = 11, Position 2 = 25
Branch analysis from position: 11
2 jumps found. (Code = 43) Position 1 = 15, Position 2 = 20
Branch analysis from position: 15
1 jumps found. (Code = 42) Position 1 = 24
Branch analysis from position: 24
2 jumps found. (Code = 43) Position 1 = 28, Position 2 = 34
Branch analysis from position: 28
1 jumps found. (Code = 42) Position 1 = 42
Branch analysis from position: 42
Branch analysis from position: 34
2 jumps found. (Code = 43) Position 1 = 37, Position 2 = 42
Branch analysis from position: 37
2 jumps found. (Code = 47) Position 1 = 45, Position 2 = 48
Branch analysis from position: 45
Branch analysis from position: 48
Branch analysis from position: 42
Branch analysis from position: 20
2 jumps found. (Code = 43) Position 1 = 28, Position 2 = 34
Branch analysis from position: 28
Branch analysis from position: 34
Branch analysis from position: 25
Branch analysis from position: 10
Branch analysis from position: 48
filename:       /in/clFon
function name:  spoji
number of ops:  51
compiled vars:  !0 = $prvapolovica, !1 = $drugapolovica, !2 = $i, !3 = $j, !4 = $k, !5 = $konacno
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   14     0  E >   RECV                                             !0      
          1        RECV                                             !1      
   16     2        ASSIGN                                                   !2, 0
          3        ASSIGN                                                   !3, 0
          4        ASSIGN                                                   !4, 0
   17     5      > JMP                                                      ->42
   18     6    >   ISSET_ISEMPTY_DIM_OBJ                         0  ~9      !0, !2
          7      > JMPZ_EX                                          ~9      ~9, ->10
          8    >   ISSET_ISEMPTY_DIM_OBJ                         0  ~10     !1, !3
          9        BOOL                                             ~9      ~10
         10    > > JMPZ                                                     ~9, ->25
   19    11    >   FETCH_DIM_R                                      ~11     !0, !2
         12        FETCH_DIM_R                                      ~12     !1, !3
         13        IS_SMALLER                                               ~11, ~12
         14      > JMPZ                                                     ~13, ->20
   20    15    >   FETCH_DIM_R                                      ~15     !0, !2
         16        ASSIGN_DIM                                               !5, !4
         17        OP_DATA                                                  ~15
         18        PRE_INC                                                  !2
         19      > JMP                                                      ->24
   22    20    >   FETCH_DIM_R                                      ~18     !1, !3
         21        ASSIGN_DIM                                               !5, !4
         22        OP_DATA                                                  ~18
   23    23        PRE_INC                                                  !3
   24    24    >   PRE_INC                                                  !4
   25    25    >   ISSET_ISEMPTY_DIM_OBJ                         0  ~21     !0, !2
         26        BOOL_NOT                                         ~22     ~21
         27      > JMPZ                                                     ~22, ->34
   26    28    >   FETCH_DIM_R                                      ~24     !1, !3
         29        ASSIGN_DIM                                               !5, !4
         30        OP_DATA                                                  ~24
   27    31        PRE_INC                                                  !3
         32        PRE_INC                                                  !4
         33      > JMP                                                      ->42
   28    34    >   ISSET_ISEMPTY_DIM_OBJ                         0  ~27     !1, !3
         35        BOOL_NOT                                         ~28     ~27
         36      > JMPZ                                                     ~28, ->42
   29    37    >   FETCH_DIM_R                                      ~30     !0, !2
         38        ASSIGN_DIM                                               !5, !4
         39        OP_DATA                                                  ~30
   30    40        PRE_INC                                                  !2
         41        PRE_INC                                                  !4
   17    42    >   COUNT                                            ~33     !0
         43        IS_SMALLER                                       ~34     !2, ~33
         44      > JMPNZ_EX                                         ~34     ~34, ->48
         45    >   COUNT                                            ~35     !1
         46        IS_SMALLER                                       ~36     !3, ~35
         47        BOOL                                             ~34     ~36
         48    > > JMPNZ                                                    ~34, ->6
   31    49    > > RETURN                                                   !5
   32    50*     > RETURN                                                   null

End of function spoji

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
144.35 ms | 1407 KiB | 14 Q