public static function filterData($objectData, $filters = array())
    {
        $result = array();
        $listFilters = array();

        //====================================================================//
        // Process All Single Fields Ids & Store Sorted List Fields Ids
        foreach ($filters as $fieldId) {
            //====================================================================//
            // Explode List Field Id
            $isList = self::isListField($fieldId);
            //====================================================================//
            // Single Field Data Type
            if ((!$isList) && (array_key_exists($fieldId, $objectData))) {
                $result[$fieldId] = $objectData[$fieldId];
            } elseif (!$isList) {
                continue;
            }
            //====================================================================//
            // List Field Data Type
            $listName = $isList['listname'];
            $fieldName = $isList['fieldname'];
            //====================================================================//
            // Check List Data are Present in Block
            if (!array_key_exists($listName, $objectData)) {
                continue;
            }
            //====================================================================//
            // Create List
            if (!array_key_exists($listName, $listFilters)) {
                $listFilters[$listName] = array();
            }
            $listFilters[$listName][] = $fieldName;
        }

        //====================================================================//
        // Process All List Fields Ids Filters
        foreach ($listFilters as $listName => $listFilters) {
            $result[$listName] = self::filterListData($objectData[$listName], $listFilters);
        }

        return $result;
    }
public static function filterData($objectData, $filters = array())
    {
        $result = array();
        $listFilters = array();

        //====================================================================//
        // Process All Single Fields Ids & Store Sorted List Fields Ids
        foreach ($filters as $fieldId) {
            //====================================================================//
            // Explode List Field Id
            $isList = self::isListField($fieldId);
            //====================================================================//
            // Single Field Data Type
            if ((!$isList) && (array_key_exists($fieldId, $objectData))) {
                $result[$fieldId] = $objectData[$fieldId];
            } elseif (!$isList) {
                continue;
            }
            //====================================================================//
            // List Field Data Type
            $listName = $isList['listname'];
            $fieldName = $isList['fieldname'];
            //====================================================================//
            // Check List Data are Present in Block
            if (!array_key_exists($listName, $objectData)) {
                continue;
            }
            //====================================================================//
            // Create List
            if (!array_key_exists($listName, $listFilters)) {
                $listFilters[$listName] = array();
            }
            $listFilters[$listName][] = $fieldName;
        }

        //====================================================================//
        // Process All List Fields Ids Filters
        foreach ($listFilters as $listName => $listFilters) {
            $result[$listName] = self::filterListData($objectData[$listName], $listFilters);
        }

        return $result;
    }
public static function filterData ( $ objectData , $ filters = array ( ) ) { $ result = array ( ) ; $ listFilters = array ( ) ; //====================================================================// // Process All Single Fields Ids & Store Sorted List Fields Ids foreach ( $ filters as $ fieldId ) { //====================================================================// // Explode List Field Id $ isList = self :: isListField ( $ fieldId ) ; //====================================================================// // Single Field Data Type if ( ( ! $ isList ) && ( array_key_exists ( $ fieldId , $ objectData ) ) ) { $ result [ $ fieldId ] = $ objectData [ $ fieldId ] ; } elseif ( ! $ isList ) { continue ; } //====================================================================// // List Field Data Type $ listName = $ isList [ 'listname' ] ; $ fieldName = $ isList [ 'fieldname' ] ; //====================================================================// // Check List Data are Present in Block if ( ! array_key_exists ( $ listName , $ objectData ) ) { continue ; } //====================================================================// // Create List if ( ! array_key_exists ( $ listName , $ listFilters ) ) { $ listFilters [ $ listName ] = array ( ) ; } $ listFilters [ $ listName ] [ ] = $ fieldName ; } //====================================================================// // Process All List Fields Ids Filters foreach ( $ listFilters as $ listName => $ listFilters ) { $ result [ $ listName ] = self :: filterListData ( $ objectData [ $ listName ] , $ listFilters ) ; } return $ result ; }
Filter a Object Data Block to keap only given Fields

@param array $objectData Object Data Block
@param array $filters    Array of Fields Ids

@return null|array
Filter a Object Data Block to keap only given Fields