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!