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, 'sortid'); $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.6
bool(false) Warning: Undefined array key "sortid" in /in/bJ2V8 on line 102 Warning: Undefined array key "sortid" in /in/bJ2V8 on line 102 Warning: Undefined array key "sortid" in /in/bJ2V8 on line 102 Warning: Undefined array key "sortid" in /in/bJ2V8 on line 102 Warning: Undefined array key "sortid" in /in/bJ2V8 on line 102 Warning: Undefined array key "sortid" in /in/bJ2V8 on line 102 Warning: Undefined array key "sortid" in /in/bJ2V8 on line 102 Warning: Undefined array key "sortid" in /in/bJ2V8 on line 102 Warning: Undefined array key "sortid" in /in/bJ2V8 on line 102 <ul></ul>
Output for 5.3.4 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 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.31, 7.4.0 - 7.4.33
bool(false) Notice: Undefined index: sortid in /in/bJ2V8 on line 102 Notice: Undefined index: sortid in /in/bJ2V8 on line 102 Notice: Undefined index: sortid in /in/bJ2V8 on line 102 Notice: Undefined index: sortid in /in/bJ2V8 on line 102 Notice: Undefined index: sortid in /in/bJ2V8 on line 102 Notice: Undefined index: sortid in /in/bJ2V8 on line 102 Notice: Undefined index: sortid in /in/bJ2V8 on line 102 Notice: Undefined index: sortid in /in/bJ2V8 on line 102 Notice: Undefined index: sortid in /in/bJ2V8 on line 102 <ul></ul>
Output for 7.3.32 - 7.3.33
bool(false) <ul></ul>
Output for 5.3.0 - 5.3.3
bool(false) Notice: Undefined index: sortid in /in/bJ2V8 on line 102 Notice: Undefined index: sortid in /in/bJ2V8 on line 102 Notice: Undefined index: sortid in /in/bJ2V8 on line 102 Notice: Undefined index: sortid in /in/bJ2V8 on line 102 Notice: Undefined index: sortid in /in/bJ2V8 on line 102 Notice: Undefined index: sortid in /in/bJ2V8 on line 102 Notice: Undefined index: sortid in /in/bJ2V8 on line 102 Notice: Undefined index: sortid in /in/bJ2V8 on line 102 Notice: Undefined index: sortid in /in/bJ2V8 on line 102 Warning: Parameter 1 to array_multisort() expected to be a reference, value given in /in/bJ2V8 on line 109 <ul></ul>
Output for 4.3.0 - 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
bool(false) Notice: Undefined index: sortid in /in/bJ2V8 on line 102 Notice: Undefined index: sortid in /in/bJ2V8 on line 102 Notice: Undefined index: sortid in /in/bJ2V8 on line 102 Notice: Undefined index: sortid in /in/bJ2V8 on line 102 Notice: Undefined index: sortid in /in/bJ2V8 on line 102 Notice: Undefined index: sortid in /in/bJ2V8 on line 102 Notice: Undefined index: sortid in /in/bJ2V8 on line 102 Notice: Undefined index: sortid in /in/bJ2V8 on line 102 Notice: Undefined index: sortid in /in/bJ2V8 on line 102 <ul></ul>

preferences:
276.66 ms | 403 KiB | 459 Q