Hej, mam pewien problem z edycją zmiennej globalnej w PHP. Problem polega na tym, że mam pewną uniwersalną funkcje przyjmującą trzy parametry. Jako pierwszy parametr zakładam, że zostanie przesłana tablica, dwa kolejne parametry to tekst. Problem polega na tym, że chciałbym aby ta tablicą była zmienna globalna pobierana w funkcji 'rodzica'. Aktualnie jako parametr funkcji przesyłam zmienną globalną, a to w żaden sposób jej nie edytuje. Dopiero gdy konkretnie w funkcji wskaże, że ma edytować zmienną globalną, a nie swój parametr to zaczyna działać, jednak wtedy funkcja traci na swojej uniwersalności. Kawałek kodu:
<?php
$notifies = array('test' => 'dane');
test();
function test() {
global $notifies;
if(1==1) {
showNotifications();
// Przekazuje zmienną globalną jako argument funkcji
addError($notifies, 'Problem', 'Error');
showNotifications();
}
}
function addError($list,$msg,$type) {
$error = array($type => $msg);
array_push($list, $error);
}
function showNotifications() {
global $notifies;
print_r($notifies);
}
Oto co zwraca:
Array
(
[test] => dane
)
Array
(
[test] => dane
)
Czy istnieje opcja aby prawidłowo przekazywać zmienną globalną jako parametr funkcji?