/** * Cleans and re-formats data. * * @param array $object * * @return array */ public static function cleanData(array $object) { foreach ($object as $key => $value) { if ($key === 'count') { unset($object[$key]); continue; } if (is_numeric($key)) { unset($object[$key]); continue; } else { if (is_array($value) && isset($value[0]) && !DataFormatter::isPrintable($value[0])) { unset($object[$key]); continue; } else { if (is_string($value) && !DataFormatter::isPrintable($value)) { unset($object[$key]); continue; } } } if (is_array($value)) { if (ArrayUtils::get($value, 'count') === 1) { $object[$key] = $value[0]; } else { if (ArrayUtils::get($value, 'count') > 1) { unset($object[$key]['count']); } } } } return $object; }