3v4l.org

run code in 300+ PHP versions simultaneously
<?php $menuArray = [ 'Main Street' => [], 'Activities' => [], 'Services' => [], 'Account' => [] ]; $lookup = [ 0 => 'Main Street', 1 => 'Activities', 2 => 'Services', 3 => 'Account', 4 => 'Communication' ]; $customsort = '4,2,1,3,0'; $keys = array_flip(explode(',', $customsort)); var_export($keys); $ordered_keys = array_flip(array_replace($keys, $lookup)); var_export($ordered_keys); $filtered_keys = array_intersect_key($ordered_keys, $menuArray); var_export($filtered_keys); $final = array_replace($filtered_keys, $menuArray); var_export($final);
Output for 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 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.13
array ( 4 => 0, 2 => 1, 1 => 2, 3 => 3, 0 => 4, )array ( 'Communication' => 4, 'Services' => 2, 'Activities' => 1, 'Account' => 3, 'Main Street' => 0, )array ( 'Services' => 2, 'Activities' => 1, 'Account' => 3, 'Main Street' => 0, )array ( 'Services' => array ( ), 'Activities' => array ( ), 'Account' => array ( ), 'Main Street' => array ( ), )

preferences:
137.73 ms | 409 KiB | 5 Q