3v4l.org

run code in 300+ PHP versions simultaneously
<?php error_reporting(E_ALL); $db = new PDO("sqlite::memory:"); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $queries = array( "CREATE TABLE users ( userid INT PRIMARY KEY, name TEXT, country TEXT, referred_by_userid INT )", "INSERT INTO users (userid, name, country, referred_by_userid) VALUES (104, 'Chris', 'Ukraine', NULL)", "INSERT INTO users (userid, name, country, referred_by_userid) VALUES (105, 'Jamie', 'England', NULL)", "INSERT INTO users (userid, name, country, referred_by_userid) VALUES (107, 'Robin', 'Germany', 104)", "INSERT INTO users (userid, name, country, referred_by_userid) VALUES (108, 'Sean', 'Ukraine', NULL)", "INSERT INTO users (userid, name, country, referred_by_userid) VALUES (109, 'Toni', 'Germany', NULL)", "INSERT INTO users (userid, name, country, referred_by_userid) VALUES (110, 'Toni', 'Germany', NULL)", "INSERT INTO users (userid, name, country, referred_by_userid) VALUES (111, 'Sean', 'France', NULL)", ); foreach ($queries as $query) { $db->exec($query); } $query = "SELECT userid, name, country, referred_by_userid FROM users"; $fetchMode = PDO::FETCH_COLUMN | PDO::FETCH_GROUP; print "\nfetchAll (no column specified):\n"; $stmt = $db->query($query); $result = $stmt->fetchAll($fetchMode); print_r($result); print "\nfetchAll (col 2):\n"; $stmt = $db->query($query); $result = $stmt->fetchAll($fetchMode, 2); print_r($result); $query = "SELECT country, name, userid FROM users"; print "\nfetchAll (by country, no column specified):\n"; # Values are column 1, group is column 0 $stmt = $db->query($query); $result = $stmt->fetchAll($fetchMode); print_r($result); print "\nfetchAll (by country, col 0):\n"; # Values are column 0, group is column 0 $stmt = $db->query($query); $result = $stmt->fetchAll($fetchMode, 0); print_r($result); print "\nfetchAll (by country, col 1):\n"; # Values are column 0, group is column 0 $stmt = $db->query($query); $result = $stmt->fetchAll($fetchMode, 1); print_r($result); print "\nfetchAll (by country, col 2):\n"; # Values are column 0, group is column 1 $stmt = $db->query($query); $result = $stmt->fetchAll($fetchMode, 2); print_r($result);
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 13, Position 2 = 18
Branch analysis from position: 13
2 jumps found. (Code = 78) Position 1 = 14, Position 2 = 18
Branch analysis from position: 14
1 jumps found. (Code = 42) Position 1 = 13
Branch analysis from position: 13
Branch analysis from position: 18
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 18
filename:       /in/2f7aV
function name:  (null)
number of ops:  99
compiled vars:  !0 = $db, !1 = $queries, !2 = $query, !3 = $fetchMode, !4 = $stmt, !5 = $result
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   INIT_FCALL                                               'error_reporting'
          1        SEND_VAL                                                 32767
          2        DO_ICALL                                                 
    4     3        NEW                                              $7      'PDO'
          4        SEND_VAL_EX                                              'sqlite%3A%3Amemory%3A'
          5        DO_FCALL                                      0          
          6        ASSIGN                                                   !0, $7
    5     7        INIT_METHOD_CALL                                         !0, 'setAttribute'
          8        SEND_VAL_EX                                              3
          9        SEND_VAL_EX                                              2
         10        DO_FCALL                                      0          
    7    11        ASSIGN                                                   !1, <array>
   37    12      > FE_RESET_R                                       $12     !1, ->18
         13    > > FE_FETCH_R                                               $12, !2, ->18
   38    14    >   INIT_METHOD_CALL                                         !0, 'exec'
         15        SEND_VAR_EX                                              !2
         16        DO_FCALL                                      0          
   37    17      > JMP                                                      ->13
         18    >   FE_FREE                                                  $12
   41    19        ASSIGN                                                   !2, 'SELECT+userid%2C+name%2C+country%2C+referred_by_userid+FROM+users'
   42    20        ASSIGN                                                   !3, 65543
   44    21        ECHO                                                     '%0AfetchAll+%28no+column+specified%29%3A%0A'
   45    22        INIT_METHOD_CALL                                         !0, 'query'
         23        SEND_VAR_EX                                              !2
         24        DO_FCALL                                      0  $16     
         25        ASSIGN                                                   !4, $16
   46    26        INIT_METHOD_CALL                                         !4, 'fetchAll'
         27        SEND_VAR_EX                                              !3
         28        DO_FCALL                                      0  $18     
         29        ASSIGN                                                   !5, $18
   47    30        INIT_FCALL                                               'print_r'
         31        SEND_VAR                                                 !5
         32        DO_ICALL                                                 
   49    33        ECHO                                                     '%0AfetchAll+%28col+2%29%3A%0A'
   50    34        INIT_METHOD_CALL                                         !0, 'query'
         35        SEND_VAR_EX                                              !2
         36        DO_FCALL                                      0  $21     
         37        ASSIGN                                                   !4, $21
   51    38        INIT_METHOD_CALL                                         !4, 'fetchAll'
         39        SEND_VAR_EX                                              !3
         40        SEND_VAL_EX                                              2
         41        DO_FCALL                                      0  $23     
         42        ASSIGN                                                   !5, $23
   52    43        INIT_FCALL                                               'print_r'
         44        SEND_VAR                                                 !5
         45        DO_ICALL                                                 
   54    46        ASSIGN                                                   !2, 'SELECT+country%2C+name%2C+userid+FROM+users'
   56    47        ECHO                                                     '%0AfetchAll+%28by+country%2C+no+column+specified%29%3A%0A'
   58    48        INIT_METHOD_CALL                                         !0, 'query'
         49        SEND_VAR_EX                                              !2
         50        DO_FCALL                                      0  $27     
         51        ASSIGN                                                   !4, $27
   59    52        INIT_METHOD_CALL                                         !4, 'fetchAll'
         53        SEND_VAR_EX                                              !3
         54        DO_FCALL                                      0  $29     
         55        ASSIGN                                                   !5, $29
   60    56        INIT_FCALL                                               'print_r'
         57        SEND_VAR                                                 !5
         58        DO_ICALL                                                 
   62    59        ECHO                                                     '%0AfetchAll+%28by+country%2C+col+0%29%3A%0A'
   64    60        INIT_METHOD_CALL                                         !0, 'query'
         61        SEND_VAR_EX                                              !2
         62        DO_FCALL                                      0  $32     
         63        ASSIGN                                                   !4, $32
   65    64        INIT_METHOD_CALL                                         !4, 'fetchAll'
         65        SEND_VAR_EX                                              !3
         66        SEND_VAL_EX                                              0
         67        DO_FCALL                                      0  $34     
         68        ASSIGN                                                   !5, $34
   66    69        INIT_FCALL                                               'print_r'
         70        SEND_VAR                                                 !5
         71        DO_ICALL                                                 
   68    72        ECHO                                                     '%0AfetchAll+%28by+country%2C+col+1%29%3A%0A'
   70    73        INIT_METHOD_CALL                                         !0, 'query'
         74        SEND_VAR_EX                                              !2
         75        DO_FCALL                                      0  $37     
         76        ASSIGN                                                   !4, $37
   71    77        INIT_METHOD_CALL                                         !4, 'fetchAll'
         78        SEND_VAR_EX                                              !3
         79        SEND_VAL_EX                                              1
         80        DO_FCALL                                      0  $39     
         81        ASSIGN                                                   !5, $39
   72    82        INIT_FCALL                                               'print_r'
         83        SEND_VAR                                                 !5
         84        DO_ICALL                                                 
   74    85        ECHO                                                     '%0AfetchAll+%28by+country%2C+col+2%29%3A%0A'
   76    86        INIT_METHOD_CALL                                         !0, 'query'
         87        SEND_VAR_EX                                              !2
         88        DO_FCALL                                      0  $42     
         89        ASSIGN                                                   !4, $42
   77    90        INIT_METHOD_CALL                                         !4, 'fetchAll'
         91        SEND_VAR_EX                                              !3
         92        SEND_VAL_EX                                              2
         93        DO_FCALL                                      0  $44     
         94        ASSIGN                                                   !5, $44
   78    95        INIT_FCALL                                               'print_r'
         96        SEND_VAR                                                 !5
         97        DO_ICALL                                                 
         98      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
169.86 ms | 1010 KiB | 15 Q