public function addDefense(Fleet $fleetDefender) { $fleetDefender->setTech($this->weapons_tech, $this->shields_tech, $this->armour_tech); $this->order(); $fl = current($this->array); if ($fl === false) { $this->array[$fleetDefender->getId()] = $fleetDefender->cloneMe(); //avoid collateral effects: when the object or array is an argument && it's saved in a structure } else { $f->mergeFleet($fleetDefender); } }