At the vary beggining of my script, I declared the variable $errors as an empty array using $errors = array();.
Through the script, inside some functions, I tried to add an element to this array by using $errors['key'] = 'value'; and at the end of the script, whithin another function, I tried to print $errors's values using print_r and var_dump but both returned an empty array. 
I also tried with array_push($errors, 'test') just to test - I can't use this method because I need to asign a key to each value - but it did not work either.
To make sure that $errors['key'] = 'value'; was beeing called, I added echo "<script>console.log(\"random message\")</script>"; and I could see "random message" in the console but $errors array was still empty.
Am I adding the values in the wrong way? Is this a scope issue? Should I pass $errors as an argument of the function where I want to print its values or asign it a value?
Example of how I'm trying to add the values:
$errors = array();
function randomFunc() {
    //do some stuff
    if (somethingWentWrong) {
        //If I add 'echo "<script>console.log(\"random message\")</script>";' here, it logs 'random message' to the console
        $errors['new-key'] = 'a string';
        return false;
    } else {
        return true;
    }
function finalFunc() {
    if (randomFunc()) {
        echo "yee";
    } else {
        //If I add data here using '$errors['test'] = 'value';', it works
        print_r($errors); //Returns empty array
        var_dump($errors); //Returns empty array
    }
}
Thanks in advance!
