}
    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) {