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.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.27, 8.4.1 - 8.4.14
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:
79.84 ms | 407 KiB | 5 Q