What are the differences between using "isset()", "is_array()", and "instanceof Countable" when dealing with countable values in PHP?

When dealing with countable values in PHP, it is important to check if a variable is set, if it is an array, or if it is an instance of the Countable interface before attempting to count its elements. Using "isset()" checks if a variable is set and not null, "is_array()" checks if a variable is an array, and "instanceof Countable" checks if a variable implements the Countable interface. Each of these functions serves a different purpose in determining if a variable can be counted.

// Check if a variable is set and not null
if(isset($variable)){
    // Check if the variable is an array
    if(is_array($variable)){
        // Check if the variable is countable
        if($variable instanceof Countable){
            // Count the elements of the variable
            $count = count($variable);
            echo "The count is: " . $count;
        } else {
            echo "Variable is not countable";
        }
    } else {
        echo "Variable is not an array";
    }
} else {
    echo "Variable is not set";
}