protected function deserializeDataRecursive($data)
	{
		foreach ($data as $key => $value) {
			if (is_string($value) && trim($value)) {
				if (is_object($data)) {
					$data->$key = \StringUtil::deserialize($value);
				}
				else {
					$data[$key] = \StringUtil::deserialize($value);
				}
			}
			else if (is_array($value) || is_object($value)) {
				if (is_object($data)) {
					$data->$key = $this->deserializeDataRecursive($value);
				}
				else {
					$data[$key] = $this->deserializeDataRecursive($value);
				}
			}
		}

		return $data;
	}
protected function deserializeDataRecursive($data)
	{
		foreach ($data as $key => $value) {
			if (is_string($value) && trim($value)) {
				if (is_object($data)) {
					$data->$key = \StringUtil::deserialize($value);
				}
				else {
					$data[$key] = \StringUtil::deserialize($value);
				}
			}
			else if (is_array($value) || is_object($value)) {
				if (is_object($data)) {
					$data->$key = $this->deserializeDataRecursive($value);
				}
				else {
					$data[$key] = $this->deserializeDataRecursive($value);
				}
			}
		}

		return $data;
	}
protected function deserializeDataRecursive ( $ data ) { foreach ( $ data as $ key => $ value ) { if ( is_string ( $ value ) && trim ( $ value ) ) { if ( is_object ( $ data ) ) { $ data -> $ key = \ StringUtil :: deserialize ( $ value ) ; } else { $ data [ $ key ] = \ StringUtil :: deserialize ( $ value ) ; } } else if ( is_array ( $ value ) || is_object ( $ value ) ) { if ( is_object ( $ data ) ) { $ data -> $ key = $ this -> deserializeDataRecursive ( $ value ) ; } else { $ data [ $ key ] = $ this -> deserializeDataRecursive ( $ value ) ; } } } return $ data ; }
Deserialize all data recursively

@param  array|object $data data array or object
@return array|object       data passed in with deserialized values
Deserialize all data recursively