/** * Convert AbstractExtensibleObject into flat array. * * @param AbstractExtensibleObject $dataObject * @return array */ public static function toFlatArray(AbstractExtensibleObject $dataObject) { $dataObjectArray = $dataObject->__toArray(); //process custom attributes if present if (!empty($dataObjectArray[AbstractExtensibleObject::CUSTOM_ATTRIBUTES_KEY])) { /** @var AttributeValue[] $customAttributes */ $customAttributes = $dataObjectArray[AbstractExtensibleObject::CUSTOM_ATTRIBUTES_KEY]; unset($dataObjectArray[AbstractExtensibleObject::CUSTOM_ATTRIBUTES_KEY]); foreach ($customAttributes as $attributeValue) { $dataObjectArray[$attributeValue[AttributeValue::ATTRIBUTE_CODE]] = $attributeValue[AttributeValue::VALUE]; } } return ConvertArray::toFlatArray($dataObjectArray); }
/** * Convert nested array into flat array. * * @param AbstractExtensibleObject $dataObject * @return array */ public static function toFlatArray(AbstractExtensibleObject $dataObject) { $data = $dataObject->__toArray(); return ConvertArray::toFlatArray($data); }