/** * Given an array of normalized name items, this will associate them all to a valid NameItem object. * If any particular NameItem object does not exist, it will be created. * @param string[] $strNameArray * @param Person $objPerson * @return void */ public static function AssociateNameItemArrayForPerson($strNameArray, Person $objPerson) { $intDoneArray = array(); foreach ($strNameArray as $strName) { $objNameItem = NameItem::LoadByName($strName); if (!$objNameItem) { $objNameItem = new NameItem(); $objNameItem->Name = $strName; $objNameItem->Save(); } if (!array_key_exists($objNameItem->Id, $intDoneArray)) { $objPerson->AssociateNameItem($objNameItem); $intDoneArray[$objNameItem->Id] = $objNameItem->Id; } } }