<?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);
$purgedArray = array_intersect_key($attributes, $checkArrayTable);
$purgedArray = array_diff_key($attributes, $checkArray);
print_r($purgedArray);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/HNebN
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 !5, $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 !5
25 DO_ICALL
26 > RETURN 1
Generated using Vulcan Logic Dumper, using php 8.0.0
preferences:
156.96 ms | 1395 KiB | 21 Q