с методом setPerm() в котором устанавливается свойство $this->perm
в другоv методе получаем некоторые зависимые данные и проводит некоторую обработку, код:
Код: Выделить всё
echo $this->perm->read; //выдает значение 1
foreach($data as $t) {
$perm = CMap::mergeArray($this->perm, $t->perm);
...
...
...
}
echo $this->perm->read; //здесь выдает значение 2, происходит замена $this->perm на $t->perm
к примеру работает как надо если к примеру сделать так
Код: Выделить всё
foreach($data as $t) {
$fperm = new CAttributeCollection();
$fperm->copyFrom($this->perm);
$perm = CMap::mergeArray($fperm, $t->perm);
}