3v4l.org

run code in 300+ PHP versions simultaneously
<?php $menu = array( array(1,3,'Wurm 1.1', 2, 10), array(2,6,'Vogel 2.1', 2, 30), array(3,0,'Tiger 1', 1, 10), array(4,6,'Hund 2.2', 2, 40), array(5,3,'Katze 1.2', 2, 11), array(6,0,'Pferd 2', 1, 20), array(7,1,'Baer 1.1.1', 3, 0), array(8,3,'Schwein 1.3', 2, 12), array(9,4,'Esel 2.2.1', 3, 0), ); // Algorithmus hier $result = array(); $target = array( array(9,4,'Esel 2.2.1', 3, 0), ); var_dump($result == $target); $navitems = array( array( 1, // Menuid 3, // parentid 'Wurm 1.1', // title 2, // level 10 // sortid ), array( 2, // Menuid 6, // parentid 'Vogel 2.1', // title 2, // level 30 // sortid ), array( 3, // Menuid 0, // parentid 'Tiger 1', // title 1, // level 10 // sortid ), array( 4, // Menuid 6, // parentid 'Hund 2.2', // title 2, // level 40 // sortid ), array( 5, // Menuid 3, // parentid 'Katze 1.2', // title 2, // level 11 // sortid ), array( 6, // Menuid 0, // parentid 'Pferd 2', // title 1, // level 20 // sortid ), array( 7, // Menuid 1, // parentid 'Baer 1.1.1', // title 3, // level 0 // sortid ), array( 8, // Menuid 3, // parentid 'Schwein 1.3', // title 2, // level 12 // sortid ), array( 9, // Menuid 4, // parentid 'Esel 2.2.1', // title 3, // level 0 // sortid ) ); function array_orderby() { $args = func_get_args(); $data = array_shift($args); foreach ($args as $n => $field) { if (is_string($field)) { $tmp = array(); foreach ($data as $key => $row) $tmp[$key] = $row[$field]; $args[$n] = $tmp; } } $args[] = &$data; call_user_func_array('array_multisort', $args); return array_pop($args); } function listItems($items, $level=0, $child=false, $pid=0) { array_orderby($items, 4); $rest = ''; foreach($items as $item) { if ($item[3] != $level) { continue; } if ($child == false) { $rest .= '<li>'. $item[2] .'<ul>'. listItems($items, $level+1, true, $item[0]) .'</ul></li>'; } else { if ($pid == $item[1]) { $rest .= '<li>'. $item[2] .'<ul>'. listItems($items, $level+1, true, $item[0]) .'</ul></li>'; } } } return '<ul>' . $rest . '</ul>'; } echo listItems($navitems);
Output for 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.4, 8.3.6
bool(false) Fatal error: Uncaught TypeError: array_multisort(): Argument #1 ($array) must be an array or a sort flag that has not already been specified in /in/eLZmO:109 Stack trace: #0 /in/eLZmO(109): array_multisort(4, Array) #1 /in/eLZmO(114): array_orderby(Array, 4) #2 /in/eLZmO(135): listItems(Array) #3 {main} thrown in /in/eLZmO on line 109
Process exited with code 255.
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 bool(false) Fatal error: Uncaught TypeError: array_multisort(): Argument #1 ($array) must be an array or a sort flag that has not already been specified in /in/eLZmO:109 Stack trace: #0 /in/eLZmO(109): array_multisort(4, Array) #1 /in/eLZmO(114): array_orderby(Array, 4) #2 /in/eLZmO(135): listItems(Array) #3 {main} thrown in /in/eLZmO on line 109
Process exited with code 255.
Output for 4.3.2 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.4 - 5.3.29, 5.4.0 - 5.4.45, 5.5.24 - 5.5.35, 5.6.7 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.10, 7.2.0 - 7.2.33, 7.3.16 - 7.3.33, 7.4.0 - 7.4.33
bool(false) Warning: array_multisort(): Argument #1 is expected to be an array or sorting flag that has not already been specified in /in/eLZmO on line 109 <ul></ul>
Output for 5.3.0 - 5.3.3
bool(false) Warning: Parameter 1 to array_multisort() expected to be a reference, value given in /in/eLZmO on line 109 <ul></ul>
Output for 4.3.0 - 4.3.1
bool(false) Warning: array_multisort() [http://www.php.net/function.array-multisort]: Argument #1 is expected to be an array or sorting flag that has not already been specified in /in/eLZmO on line 109 <ul></ul>

preferences:
226.08 ms | 401 KiB | 311 Q