3v4l.org

run code in 300+ PHP versions simultaneously
<?php // Test for array_column // available since PHP >= 5.5.0 !! // php.net/manual/function.array-column.php $foo = ARRAY(); $foo[0] = ARRAY('key'=>'key0', 'value'=>'value0', 'text'=>'text0', 'int'=>1000); $foo[1] = ARRAY('key'=>'key1', 'value'=>'value1', 'text'=>'text1', 'int'=>1001); $foo[2] = ARRAY('key'=>'key2', 'value'=>'value2', 'text'=>'text2', 'int'=>1002); $foo[3] = ARRAY('key'=>'key3', 'value'=>'value3', 'text'=>'text3', 'int'=>1003); $foo[5] = ARRAY('key'=>'key5', 'value'=>'value5', 'text'=>'text5', 'int'=>1005); $foo[7] = ARRAY('key'=>'key7', 'value'=>'value7', 'text'=>'text7', 'int'=>1007); // reset indexes, set column 'value' as values $result1 = array_column($foo, 'value'); var_export($result1); print "\n\n"; // re-index with column 'key', use column 'value' as values $result2 = array_column($foo, 'value', 'key'); var_export($result2); print "\n\n"; // re-index with column 'int', use column 'value' as values $result3 = array_column($foo, 'value', 'int'); var_export($result3); print "\n\n"; // re-index with column 'int', use COMPLETE ARRAY as values $result4 = array_column($foo, NULL, 'int'); var_export($result4); print "\n\n"; // => Warning: array_column() expects at least 2 parameters, 1 given ... $result101 = array_column(NULL); var_export($result101); print "\n\n"; // => Warning: array_column() expects at least 2 parameters, 1 given ... $result102 = array_column(FALSE); var_export($result102); print "\n\n"; // => Warning: array_column() expects at least 2 parameters, 1 given ... $result103 = array_column('bla'); var_export($result103); print "\n\n"; ?>
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/PJqp3
function name:  (null)
number of ops:  77
compiled vars:  !0 = $foo, !1 = $result1, !2 = $result2, !3 = $result3, !4 = $result4, !5 = $result101, !6 = $result102, !7 = $result103
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    6     0  E >   ASSIGN                                                   !0, <array>
    7     1        ASSIGN_DIM                                               !0, 0
          2        OP_DATA                                                  <array>
    8     3        ASSIGN_DIM                                               !0, 1
          4        OP_DATA                                                  <array>
    9     5        ASSIGN_DIM                                               !0, 2
          6        OP_DATA                                                  <array>
   10     7        ASSIGN_DIM                                               !0, 3
          8        OP_DATA                                                  <array>
   11     9        ASSIGN_DIM                                               !0, 5
         10        OP_DATA                                                  <array>
   12    11        ASSIGN_DIM                                               !0, 7
         12        OP_DATA                                                  <array>
   15    13        INIT_FCALL                                               'array_column'
         14        SEND_VAR                                                 !0
         15        SEND_VAL                                                 'value'
         16        DO_ICALL                                         $15     
         17        ASSIGN                                                   !1, $15
   16    18        INIT_FCALL                                               'var_export'
         19        SEND_VAR                                                 !1
         20        DO_ICALL                                                 
         21        ECHO                                                     '%0A%0A'
   19    22        INIT_FCALL                                               'array_column'
         23        SEND_VAR                                                 !0
         24        SEND_VAL                                                 'value'
         25        SEND_VAL                                                 'key'
         26        DO_ICALL                                         $18     
         27        ASSIGN                                                   !2, $18
   20    28        INIT_FCALL                                               'var_export'
         29        SEND_VAR                                                 !2
         30        DO_ICALL                                                 
         31        ECHO                                                     '%0A%0A'
   23    32        INIT_FCALL                                               'array_column'
         33        SEND_VAR                                                 !0
         34        SEND_VAL                                                 'value'
         35        SEND_VAL                                                 'int'
         36        DO_ICALL                                         $21     
         37        ASSIGN                                                   !3, $21
   24    38        INIT_FCALL                                               'var_export'
         39        SEND_VAR                                                 !3
         40        DO_ICALL                                                 
         41        ECHO                                                     '%0A%0A'
   27    42        INIT_FCALL                                               'array_column'
         43        SEND_VAR                                                 !0
         44        SEND_VAL                                                 null
         45        SEND_VAL                                                 'int'
         46        DO_ICALL                                         $24     
         47        ASSIGN                                                   !4, $24
   28    48        INIT_FCALL                                               'var_export'
         49        SEND_VAR                                                 !4
         50        DO_ICALL                                                 
         51        ECHO                                                     '%0A%0A'
   33    52        INIT_FCALL                                               'array_column'
         53        SEND_VAL                                                 null
         54        DO_ICALL                                         $27     
         55        ASSIGN                                                   !5, $27
   34    56        INIT_FCALL                                               'var_export'
         57        SEND_VAR                                                 !5
         58        DO_ICALL                                                 
         59        ECHO                                                     '%0A%0A'
   37    60        INIT_FCALL                                               'array_column'
         61        SEND_VAL                                                 <false>
         62        DO_ICALL                                         $30     
         63        ASSIGN                                                   !6, $30
   38    64        INIT_FCALL                                               'var_export'
         65        SEND_VAR                                                 !6
         66        DO_ICALL                                                 
         67        ECHO                                                     '%0A%0A'
   41    68        INIT_FCALL                                               'array_column'
         69        SEND_VAL                                                 'bla'
         70        DO_ICALL                                         $33     
         71        ASSIGN                                                   !7, $33
   42    72        INIT_FCALL                                               'var_export'
         73        SEND_VAR                                                 !7
         74        DO_ICALL                                                 
         75        ECHO                                                     '%0A%0A'
   43    76      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
150.94 ms | 1392 KiB | 17 Q