/** * $objectsに同名のキーがあればマージし無ければ追加する * @param self{} $objects 対象の連想配列 * @param string $doc 値の情報を表す文字列 * @param string $class 定義されているクラス名 * @param string $prefix 名称につく接頭辞 */ public static function merge(array &$objects, $doc, $class, $prefix = null) { $self = new self(); $self->set($doc, $class); $name = $prefix . $self->name(); if ($self->is_name() && isset($objects[$name])) { $objects[$name]->type($self->type()); $objects[$name]->array($self->array()); $objects[$name]->module($self->module()); if ($self->is_document()) { $objects[$name]->document($self->document()); } } }