An earthquake of magnitude 7.8 struck Mindanao in the southern Philippines, according to the United States Geological Survey.