3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Node { public $data = null; public $parent = null; public $left = null; public $right = null; } function mirror_recursive($root) { if ($root === null) { return; } mirror_recursive($root->left); mirror_recursive($root->right); $temp = $root->left; $root->left = $root->right; $root->right = $temp; } function mirror_norec($root) { $queue = array(); array_unshift($queue, $root); while (!empty($queue)) { $cnode = array_pop($queue); if ($cnode->left !== null) array_unshift($queue, $cnode->left); if ($cnode->right !== null) array_unshift($queue, $cnode->right); $temp = $cnode->left; $cnode->left = $cnode->right; $cnode->right = $temp; } } function inorder_traverse($root) { if ($root->left !== null) inorder_traverse($root->left); echo $root->data . " "; if ($root->right !== null) inorder_traverse($root->right); } $root = new Node(); $n1 = new Node(); $n2 = new Node(); $n11 = new Node(); $n12 = new Node(); $n13 = new Node(); $n14 = new Node(); $n15 = new Node(); $n21 = new Node(); $root->data = 0; $n1->data = 1; $n2->data = 2; $n11->data = 11; $n12->data = 12; $n13->data = 13; $n14->data = 14; $n15->data = 15; $n21->data = 21; $root->left = $n1; $root->right = $n2; $n1->left = $n11; $n1->right = $n12; $n11->left = $n13; $n12->right = $n14; $n13->left = $n15; $n2->right = $n21; inorder_traverse($root); echo "<br>"; mirror_recursive($root); inorder_traverse($root); echo "<br>"; mirror_norec($root); inorder_traverse($root); ?>
Output for 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.14, 5.5.16 - 5.5.18, 5.5.20 - 5.5.22, 5.5.25, 5.5.27 - 5.5.34, 5.5.38, 5.6.1 - 5.6.4, 5.6.8, 5.6.10, 5.6.12 - 5.6.16, 5.6.19 - 5.6.20, 5.6.22 - 5.6.23, 5.6.34 - 5.6.37, 5.6.40, 7.0.0, 7.0.2 - 7.0.3, 7.0.6, 7.0.9, 7.0.13 - 7.0.15, 7.0.17, 7.0.20 - 7.0.25, 7.0.32 - 7.0.33, 7.1.4 - 7.1.6, 7.1.11 - 7.1.15, 7.1.17, 7.1.20, 7.1.26 - 7.1.27, 7.1.29, 7.1.32 - 7.1.33, 7.2.9 - 7.2.15, 7.2.17, 7.2.19, 7.2.21 - 7.2.26, 7.3.3 - 7.3.5, 7.3.7, 7.3.9 - 7.3.13, 7.4.0 - 7.4.1, 8.1.23 - 8.1.28, 8.2.10 - 8.2.18, 8.3.0 - 8.3.6
15 13 11 1 12 14 0 2 21 <br>21 2 0 14 12 1 11 13 15 <br>15 13 11 1 12 14 0 2 21
Output for 5.5.15, 5.5.19, 5.5.23 - 5.5.24, 5.5.26, 5.5.35 - 5.5.37, 5.6.0, 5.6.5 - 5.6.7, 5.6.9, 5.6.11, 5.6.17 - 5.6.18, 5.6.21, 5.6.24 - 5.6.33, 5.6.38 - 5.6.39, 7.0.1, 7.0.4 - 7.0.5, 7.0.7 - 7.0.8, 7.0.10 - 7.0.12, 7.0.16, 7.0.18 - 7.0.19, 7.0.26 - 7.0.31, 7.1.0 - 7.1.3, 7.1.7 - 7.1.10, 7.1.16, 7.1.18 - 7.1.19, 7.1.21 - 7.1.25, 7.1.28, 7.1.30 - 7.1.31, 7.2.0 - 7.2.8, 7.2.16, 7.2.18, 7.2.20, 7.3.0 - 7.3.2, 7.3.6, 7.3.8

Process exited with code 137.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/OpNUP on line 5
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.3.11, 4.4.0 - 4.4.1
Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/OpNUP on line 5
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in /in/OpNUP on line 5
Process exited with code 255.

preferences:
224.34 ms | 401 KiB | 347 Q