} public function search($val) { $node = $this->_root; while ($node !== $this->_sentinel && $node->val() !== $val) { if ($val < $node->val()) { $node = $node->left(); } else { $node = $node->right(); } } return $node; } } $BST = new BinarySearchTree(); $BST->insert(15); $BST->insert(6); $BST->insert(18); $BST->insert(3); $BST->insert(7); $BST->insert(17); $BST->insert(20); $BST->insert(2); $BST->insert(4); $BST->insert(13); $BST->insert(9); function test_searching($num) { global $BST; $node = $BST->search($num); if ($node->val() !== NULL) {