gadyuka
Новичок
Есть следующий упрощенный для примера код:
Необходимо чтобы значения, устанавливаемые функцией SetValue записывались в сам глобальный массив $Arr[elenemt_name][param_name]. В вышеприведенном коде это не работает, значение $AValue ставится только в локальную копию - не смотря на то, что возвращается вроде бы референс на элемент, а не сам элемент.
Пробовала и такой вариант:
В этом коде функция SetValue вообще не получает ссылки на $Arr["bar"]. А если в GetElement присваивать не &$Arr[$AName], а $AElement=$Arr[$AName] - то ситуация идентична первому варианту.
Как сделать, чтобы оно работало как надо?
PHP:
$Arr=array(
"bar" => array("a" => 0, "b" => 1),
"foo" => array("a" => 0, "b" => 1)
);
function GetElement($AName) {
global $Arr;
$xElement=&$Arr[$AName];
return $xElement;
}
function SetValue($AValue) {
global $Arr;
$xElement=GetElement("bar");
$xElement["c"]=$AValue;
}
Пробовала и такой вариант:
PHP:
function GetElement($AName, &$AElement) {
global $Arr;
$AElement=&$Arr[$AName];
}
function SetValue($AValue) {
global $Arr;
GetElement("bar", $xElement);
$xElement["c"]=$AValue;
}
Как сделать, чтобы оно работало как надо?