3v4l.org

run code in 300+ PHP versions simultaneously
<?php /* if (isset(static::$attrAccessible)) { if (is_array(static::$attrAccessible) && count(static::$attrAccessible) > 0) { $checkArray = array_fill_keys(static::$attrAccessible, 0); $attributes = array_intersect_key($attributes, $checkArray); } } elseif (isset(static::$attrProtected)) { if (is_array(static::$attrProtected) && count(static::$attrProtected) > 0) { $checkArray = array_fill_keys(static::$attrProtected, 0); $attributes = array_diff_key($attributes, $checkArray); } } */ $attrAccessible = array('name', 'age', 'location'); $attributes = array('id', 'name', 'age', 'location', 'updated_at', 'created_at'); $checkArray = array_fill_keys($attrAccessible, 0); $purgedArray = array_diff_key($attributes, $checkArray); echo "\$attrAccessible:" . implode(', ', $attrAccessible); echo "\n"; echo "\$attributes:" .implode(', ', $attributes); echo "\n"; echo "\$checkArray:" .implode(', ', $checkArray); echo "\n"; echo "\$purgedArray:" .implode(', ', $purgedArray);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/ONp5d
function name:  (null)
number of ops:  40
compiled vars:  !0 = $attrAccessible, !1 = $attributes, !2 = $checkArray, !3 = $purgedArray
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   17     0  E >   ASSIGN                                                   !0, <array>
   18     1        ASSIGN                                                   !1, <array>
   20     2        INIT_FCALL                                               'array_fill_keys'
          3        SEND_VAR                                                 !0
          4        SEND_VAL                                                 0
          5        DO_ICALL                                         $6      
          6        ASSIGN                                                   !2, $6
   21     7        INIT_FCALL                                               'array_diff_key'
          8        SEND_VAR                                                 !1
          9        SEND_VAR                                                 !2
         10        DO_ICALL                                         $8      
         11        ASSIGN                                                   !3, $8
   23    12        INIT_FCALL                                               'implode'
         13        SEND_VAL                                                 '%2C+'
         14        SEND_VAR                                                 !0
         15        DO_ICALL                                         $10     
         16        CONCAT                                           ~11     '%24attrAccessible%3A', $10
         17        ECHO                                                     ~11
   24    18        ECHO                                                     '%0A'
   25    19        INIT_FCALL                                               'implode'
         20        SEND_VAL                                                 '%2C+'
         21        SEND_VAR                                                 !1
         22        DO_ICALL                                         $12     
         23        CONCAT                                           ~13     '%24attributes%3A', $12
         24        ECHO                                                     ~13
   26    25        ECHO                                                     '%0A'
   27    26        INIT_FCALL                                               'implode'
         27        SEND_VAL                                                 '%2C+'
         28        SEND_VAR                                                 !2
         29        DO_ICALL                                         $14     
         30        CONCAT                                           ~15     '%24checkArray%3A', $14
         31        ECHO                                                     ~15
   28    32        ECHO                                                     '%0A'
   29    33        INIT_FCALL                                               'implode'
         34        SEND_VAL                                                 '%2C+'
         35        SEND_VAR                                                 !3
         36        DO_ICALL                                         $16     
         37        CONCAT                                           ~17     '%24purgedArray%3A', $16
         38        ECHO                                                     ~17
         39      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
147.54 ms | 1396 KiB | 19 Q