3v4l.org

run code in 300+ PHP versions simultaneously
<?php var_export([ // string, then mask 'a:ba' => strcspn('a', 'ba'), // 0 'ba:a' => strcspn('ba', 'a'), // 1 'a:a' => strcspn('a', 'a'), // 0 'ba:ba' => strcspn('ba', 'ba'), // 0 ]); echo "\n---\n"; $params = [ ['one' => 'a', 'two' => 'ba', 'three' => 'a', 'four' => 'ba'], // strings ['three' => 'a', 'one' => 'ba', 'four' => 'ba', 'two' => 'a'], // masks 'strcspn' ]; 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.25, 8.4.1 - 8.4.12
array ( 'a:ba' => 0, 'ba:a' => 1, 'a:a' => 0, 'ba:ba' => 0, ) --- array ( 'udiff' => array ( 'two' => 'ba', ), 'uintersect' => array ( 'one' => 'a', 'three' => 'a', 'four' => 'ba', ), )

preferences:
81.52 ms | 407 KiB | 5 Q