3v4l.org

run code in 500+ PHP versions simultaneously
<?php $a = [ [ 'id' => 20, 'created_at' => '2020-11-22', 'updated_at' => '2020-11-22 11:16:22', 'name' => 'AA', ], [ 'id' => 19, 'created_at' => '2020-11-27 11:16:22', 'updated_at' => null, 'name' => 'BB', ] ]; $b = [ [ 'id' => 20, 'created_at' => '2020-11-22 11:16:11', 'updated_at' => '2020-11-22 11:16:22', 'name' => 'AA', ], [ 'id' => 19, 'created_at' => '2020-11-27 11:16:22', 'updated_at' => null, 'name' => 'BB', ] ]; function array_diff_by_keys(array $a, array $b, array $keys = null) { if (empty($keys)) $keys = array_keys(reset($a)); $compare = function ($x, $y) use ($keys) { foreach ($keys as $key) { $diff = $x[$key] <=> $y[$key]; if ($diff) return $diff; } return $diff; }; return array_udiff($a, $b, $compare); } print_r(array_diff_by_keys($a, $b)); print_r(array_diff_by_keys($a, $b, ['id', 'created_at', 'updated_at']));
Output for git.master, git.master_jit, rfc.property-hooks
Array ( [0] => Array ( [id] => 20 [created_at] => 2020-11-22 [updated_at] => 2020-11-22 11:16:22 [name] => AA ) ) Array ( [0] => Array ( [id] => 20 [created_at] => 2020-11-22 [updated_at] => 2020-11-22 11:16:22 [name] => AA ) )

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
44.35 ms | 1487 KiB | 4 Q