Deprecated: Optional parameter $post_id declared before required parameter $field is implicitly treated as a required parameter in /home/architectureprizecome/architectureprize.com/wp-content/plugins/advanced-custom-fields-pro/includes/acf-value-functions.php on line 57
Deprecated: Optional parameter $value declared before required parameter $field is implicitly treated as a required parameter in /home/architectureprizecome/architectureprize.com/wp-content/plugins/advanced-custom-fields-pro/includes/acf-value-functions.php on line 169
Deprecated: Optional parameter $post_id declared before required parameter $field is implicitly treated as a required parameter in /home/architectureprizecome/architectureprize.com/wp-content/plugins/advanced-custom-fields-pro/includes/acf-value-functions.php on line 169
Deprecated: Optional parameter $key declared before required parameter $value is implicitly treated as a required parameter in /home/architectureprizecome/architectureprize.com/wp-content/plugins/advanced-custom-fields-pro/includes/ajax/class-acf-ajax.php on line 99
Deprecated: Optional parameter $i declared before required parameter $post_id is implicitly treated as a required parameter in /home/architectureprizecome/architectureprize.com/wp-content/plugins/advanced-custom-fields-pro/pro/fields/class-acf-field-repeater.php on line 720
Deprecated: Optional parameter $i declared before required parameter $post_id is implicitly treated as a required parameter in /home/architectureprizecome/architectureprize.com/wp-content/plugins/advanced-custom-fields-pro/pro/fields/class-acf-field-repeater.php on line 786
Deprecated: Optional parameter $name declared before required parameter $field is implicitly treated as a required parameter in /home/architectureprizecome/architectureprize.com/wp-content/plugins/advanced-custom-fields-pro/pro/fields/class-acf-field-flexible-content.php on line 1038
Deprecated: Optional parameter $i declared before required parameter $post_id is implicitly treated as a required parameter in /home/architectureprizecome/architectureprize.com/wp-content/plugins/advanced-custom-fields-pro/pro/fields/class-acf-field-flexible-content.php on line 1074
Deprecated: Optional parameter $i declared before required parameter $post_id is implicitly treated as a required parameter in /home/architectureprizecome/architectureprize.com/wp-content/plugins/advanced-custom-fields-pro/pro/fields/class-acf-field-flexible-content.php on line 1126
Deprecated: Optional parameter $id declared before required parameter $field is implicitly treated as a required parameter in /home/architectureprizecome/architectureprize.com/wp-content/plugins/advanced-custom-fields-pro/pro/fields/class-acf-field-gallery.php on line 300
Deprecated: Return type of Requests_Cookie_Jar::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/architectureprizecome/architectureprize.com/wp-includes/Requests/Cookie/Jar.php on line 63
Deprecated: Return type of Requests_Cookie_Jar::offsetGet($key) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/architectureprizecome/architectureprize.com/wp-includes/Requests/Cookie/Jar.php on line 73
Deprecated: Return type of Requests_Cookie_Jar::offsetSet($key, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/architectureprizecome/architectureprize.com/wp-includes/Requests/Cookie/Jar.php on line 89
Deprecated: Return type of Requests_Cookie_Jar::offsetUnset($key) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/architectureprizecome/architectureprize.com/wp-includes/Requests/Cookie/Jar.php on line 102
Deprecated: Return type of Requests_Cookie_Jar::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/architectureprizecome/architectureprize.com/wp-includes/Requests/Cookie/Jar.php on line 111
Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/architectureprizecome/architectureprize.com/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 40
Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetGet($key) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/architectureprizecome/architectureprize.com/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 51
Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetSet($key, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/architectureprizecome/architectureprize.com/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 68
Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetUnset($key) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/architectureprizecome/architectureprize.com/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 82
Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/architectureprizecome/architectureprize.com/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 91 Architecture Masterprize Winner The River of History
The River of History
The River of History
PrizeHonorable Mention in Exterior Architecture Photography / Cityscapes
LocationShanghai, China
University/SchoolSoochow University
PhotographerShen Helin
A river that flows through time, recording the changes of the city