3v4l.org

run code in 300+ PHP versions simultaneously
<?php // A unit testing framework in a tweet. https://gist.github.com/mathiasverraes/9046427 function it($m,$p){echo ($p?'✔︎':'✘')." It $m\n"; if(!$p){$GLOBALS['f']=1;}}function done(){if(@$GLOBALS['f'])die(1);} function consistsOfTheSameValues(array $a, array $b) { return count(array_diff(array_merge($a, $b), array_intersect($a, $b))) === 0; } it('consist of the same values', consistsOfTheSameValues([1], [1]) === true ); it('consist of the same values', consistsOfTheSameValues([1, 1], [1, 1]) === true ); it('consist of the same values', consistsOfTheSameValues(['1', 1], ['1', 1]) === true ); it('consist of the same values', consistsOfTheSameValues(['1', 1], [1, '1']) === true ); it('consist of the same values', consistsOfTheSameValues([1, '1'], ['1', 1]) === true ); it('consist of the same values', consistsOfTheSameValues([1, '1'], [1, '1']) === true ); it('consist of the same values', consistsOfTheSameValues(['x' => 1], ['x' => 1]) === true ); it('consist of the same values', consistsOfTheSameValues(['x' => 1], ['y' => 1]) === true ); it('consist of the same values', consistsOfTheSameValues(['y' => 1], ['x' => 1]) === true ); it('consist of the same values', consistsOfTheSameValues(['x' => 1, 'y' => 1], ['x' => 1, 'y' => 1]) === true ); it('consist of the same values', consistsOfTheSameValues(['y' => 1, 'x' => 1], ['x' => 1, 'y' => 1]) === true ); it('consist of the same values', consistsOfTheSameValues(['x' => 1, 'y' => 1], ['y' => 1, 'x' => 1]) === true ); it('consist of the same values', consistsOfTheSameValues(['y' => 1, 'x' => 1], ['y' => 1, 'x' => 1]) === true ); it('consist of the same values', consistsOfTheSameValues(['x' => 2, 'y' => 1], ['x' => 1, 'y' => 2]) === true ); it('does not consist of the same values', consistsOfTheSameValues([1], [2]) === false ); it('does not consist of the same values', consistsOfTheSameValues(['1'], [1]) === false ); it('does not consist of the same values', consistsOfTheSameValues([1], ['1']) === false ); it('does not consist of the same values', consistsOfTheSameValues([1], [1, 1]) === false ); it('does not consist of the same values', consistsOfTheSameValues([1, 1], [1]) === false ); it('does not consist of the same values', consistsOfTheSameValues(['1', 1], [1, 1]) === false ); it('does not consist of the same values', consistsOfTheSameValues([1, '1'], [1, 1]) === false ); it('does not consist of the same values', consistsOfTheSameValues([1, 1], ['1', 1]) === false ); it('does not consist of the same values', consistsOfTheSameValues([1, 1], [1, '1']) === false ); it('does not consist of the same values', consistsOfTheSameValues(['1', '1'], [1, 1]) === false ); it('does not consist of the same values', consistsOfTheSameValues(['1', '1'], ['1', 1]) === false ); it('does not consist of the same values', consistsOfTheSameValues(['1', '1'], [1, '1']) === false ); it('does not consist of the same values', consistsOfTheSameValues([1, 1], ['1', '1']) === false ); it('does not consist of the same values', consistsOfTheSameValues(['1', 1], ['1', '1']) === false ); it('does not consist of the same values', consistsOfTheSameValues([1, '1'], ['1', '1']) === false ); it('does not consist of the same values', consistsOfTheSameValues(['x' => 1], ['x' => 2]) === false ); it('does not consist of the same values', consistsOfTheSameValues(['x' => 1, 'y' => 1], ['x' => 1, 'y' => 2]) === false ); it('does not consist of the same values', consistsOfTheSameValues(['x' => 1, 'y' => 1], ['x' => 2, 'y' => 1]) === false ); it('does not consist of the same values', consistsOfTheSameValues(['x' => 2, 'y' => 1], ['x' => 1, 'y' => 1]) === false );
Output for 5.5.0 - 5.5.36, 5.6.0 - 5.6.22, 7.0.0 - 7.0.20, 7.1.0 - 7.1.20, 7.2.6 - 7.2.33, 7.3.16 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.27, 8.2.0 - 8.2.17, 8.3.0 - 8.3.4, 8.3.6
✔︎ It consist of the same values ✔︎ It consist of the same values ✔︎ It consist of the same values ✔︎ It consist of the same values ✔︎ It consist of the same values ✔︎ It consist of the same values ✔︎ It consist of the same values ✔︎ It consist of the same values ✔︎ It consist of the same values ✔︎ It consist of the same values ✔︎ It consist of the same values ✔︎ It consist of the same values ✔︎ It consist of the same values ✔︎ It consist of the same values ✔︎ It does not consist of the same values ✘ It does not consist of the same values ✘ It does not consist of the same values ✘ It does not consist of the same values ✘ It does not consist of the same values ✘ It does not consist of the same values ✘ It does not consist of the same values ✘ It does not consist of the same values ✘ It does not consist of the same values ✘ It does not consist of the same values ✘ It does not consist of the same values ✘ It does not consist of the same values ✘ It does not consist of the same values ✘ It does not consist of the same values ✘ It does not consist of the same values ✔︎ It does not consist of the same values ✔︎ It does not consist of the same values ✔︎ It does not consist of the same values ✘ It does not consist of the same values
Output for 8.3.5
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 ✔︎ It consist of the same values ✔︎ It consist of the same values ✔︎ It consist of the same values ✔︎ It consist of the same values ✔︎ It consist of the same values ✔︎ It consist of the same values ✔︎ It consist of the same values ✔︎ It consist of the same values ✔︎ It consist of the same values ✔︎ It consist of the same values ✔︎ It consist of the same values ✔︎ It consist of the same values ✔︎ It consist of the same values ✔︎ It consist of the same values ✔︎ It does not consist of the same values ✘ It does not consist of the same values ✘ It does not consist of the same values ✘ It does not consist of the same values ✘ It does not consist of the same values ✘ It does not consist of the same values ✘ It does not consist of the same values ✘ It does not consist of the same values ✘ It does not consist of the same values ✘ It does not consist of the same values ✘ It does not consist of the same values ✘ It does not consist of the same values ✘ It does not consist of the same values ✘ It does not consist of the same values ✘ It does not consist of the same values ✔︎ It does not consist of the same values ✔︎ It does not consist of the same values ✔︎ It does not consist of the same values ✘ It does not consist of the same values

preferences:
179.07 ms | 405 KiB | 212 Q