3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array1 = array( 'cover.xhtml', 'title.xhtml', 'copyright.xhtml', 'dedication.xhtml', 'toc_brief.xhtml', 'toc.xhtml', 'ch02_1.xhtml', 'ch02_2.xhtml', 'ch02_3.xhtml', 'ch02_4.xhtml', 'ch02_5.xhtml', 'ch02_6.xhtml', 'ch02_7.xhtml', 'ch02_8.xhtml', 'ch02_9.xhtml', 'ch02_10.xhtml' ); $array2 = array( '', 'title.xhtml', 'copyright.xhtml', 'dedication.xhtml', 'ch02_2.xhtml', 'ch02_2#454.xhtml', 'ch02_4.xhtml', 'ch02_1.xhtml', 'ch02_11.xhtml', 'ch02_12.xhtml', '' ); $customOrder = array_flip([ 'cover', 'title', 'copyright', 'dedication', 'toc_brief', 'toc', 'ch' ]); $uniqueFiltered = array_unique(array_filter(array_merge($array1, $array2))); usort( $uniqueFiltered, fn($a, $b) => $customOrder[strtok($a, '.012345789')] <=> $customOrder[strtok($b, '.012345789')] ?: strnatcmp(...str_replace('#', '_', [$a, $b])) ); var_export($uniqueFiltered);
Output for git.master_jit, git.master, rfc.property-hooks
array ( 0 => 'cover.xhtml', 1 => 'title.xhtml', 2 => 'copyright.xhtml', 3 => 'dedication.xhtml', 4 => 'toc_brief.xhtml', 5 => 'toc.xhtml', 6 => 'ch02_1.xhtml', 7 => 'ch02_2.xhtml', 8 => 'ch02_2#454.xhtml', 9 => 'ch02_3.xhtml', 10 => 'ch02_4.xhtml', 11 => 'ch02_5.xhtml', 12 => 'ch02_6.xhtml', 13 => 'ch02_7.xhtml', 14 => 'ch02_8.xhtml', 15 => 'ch02_9.xhtml', 16 => 'ch02_10.xhtml', 17 => 'ch02_11.xhtml', 18 => 'ch02_12.xhtml', )

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:
94.78 ms | 406 KiB | 5 Q