The fate of a fourth man who ran off in a different direction was unclear.
The construction workers were taken to the police on Jolo island yesterday, four weeks after being abducted by the Abu Sayyaf group, which is holding more than a dozen other hostages including several foreigners in remote jungles.
The gunmen had received an undetermined amount of cash for the hostages on Thursday, but refused to release them after realising the money was fake, regional police chief Reuben Sindac told AFP.
The Abu Sayyaf, blamed for the worst terror attacks in the nation's history, is known to behead hostages unless ransom payments are made.
More From This Section
Sindac said a village official found three of the hostages near the Jolo town of Talipao early Friday, one with a gunshot wound to the head that was not thought to be life- threatening.
The official brought them to the police hours later.
The three told police their fourth colleague had run in another direction and it was unclear if he had escaped or been recaptured by the militants.
The Philippine government as a policy does not pay ransom, and the gunmen are known to negotiate directly with the victims' families or employers.
The militants beheaded two Canadian hostages last year and a German captive in February after ransom demands were not met.
Police said the militants also beheaded seven loggers on the southern island of Basilan last month, during which a Vietnamese hostage was also killed in a gunbattle between his captors and the security forces.
A Basilan-based Abu Sayyaf faction has pledged allegiance to the Islamic State group and joined up with militants who seized parts of the southern city of Marawi in May.
President Rodrigo Duterte has imposed martial law across the southern third of the Philippines, including Marawi, Basilan and Jolo, to quell the militant threat.