3v4l.org

run code in 300+ PHP versions simultaneously
<?php var_export([ // string, then mask 'a:ab' => trim('a', 'ab'), // '' ...cast to 0 'ab:a' => trim('ab', 'a'), // 'b' ...cast to 0 '0:1' => trim('0', '1'), // '0' ...cast to 0 '1:0' => trim('1', '0'), // '1' ...cast to 1 ]); echo "\n---\n"; $params = [ ['one' => 'a', 'two' => 'ab', 'three' => '0', 'four' => '1'], // string ['three' => '1', 'one' => 'ab', 'four' => '0', 'two' => 'a'], // mask 'trim' ]; var_export([ 'udiff' => array_udiff_assoc(...$params), 'uintersect' => array_uintersect_assoc(...$params), ]);
Output for 7.4.0 - 7.4.33, 8.0.1 - 8.0.30, 8.1.0 - 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.18, 8.5.0 - 8.5.3
array ( 'a:ab' => '', 'ab:a' => 'b', '0:1' => '0', '1:0' => '1', ) --- array ( 'udiff' => array ( 'four' => '1', ), 'uintersect' => array ( 'one' => 'a', 'two' => 'ab', 'three' => '0', ), )

preferences:
85.19 ms | 1273 KiB | 4 Q