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); } } */ $table = array('id', 'name', 'age', 'updated_at', 'created_at'); $attrAccessible = array('name', 'age', 'location'); $attributes = array('id' => 0, 'name' => 'Jacopo', 'age' => 25, 'location' => 'Milan', 'updated_at' => null, 'created_at' => null); $checkArrayTable = array_fill_keys($table, 0); $checkArray = array_fill_keys($attrAccessible, 0); $attributes = array_intersect_key($attributes, $checkArrayTable); $purgedArray = array_diff_key($attributes, $checkArray); print_r($attributes);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/TE39M
function name:  (null)
number of ops:  27
compiled vars:  !0 = $table, !1 = $attrAccessible, !2 = $attributes, !3 = $checkArrayTable, !4 = $checkArray, !5 = $purgedArray
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   17     0  E >   ASSIGN                                                   !0, <array>
   18     1        ASSIGN                                                   !1, <array>
   19     2        ASSIGN                                                   !2, <array>
   21     3        INIT_FCALL                                               'array_fill_keys'
          4        SEND_VAR                                                 !0
          5        SEND_VAL                                                 0
          6        DO_ICALL                                         $9      
          7        ASSIGN                                                   !3, $9
   22     8        INIT_FCALL                                               'array_fill_keys'
          9        SEND_VAR                                                 !1
         10        SEND_VAL                                                 0
         11        DO_ICALL                                         $11     
         12        ASSIGN                                                   !4, $11
   23    13        INIT_FCALL                                               'array_intersect_key'
         14        SEND_VAR                                                 !2
         15        SEND_VAR                                                 !3
         16        DO_ICALL                                         $13     
         17        ASSIGN                                                   !2, $13
   24    18        INIT_FCALL                                               'array_diff_key'
         19        SEND_VAR                                                 !2
         20        SEND_VAR                                                 !4
         21        DO_ICALL                                         $15     
         22        ASSIGN                                                   !5, $15
   26    23        INIT_FCALL                                               'print_r'
         24        SEND_VAR                                                 !2
         25        DO_ICALL                                                 
         26      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
167.01 ms | 1395 KiB | 21 Q