Phi Phi is a small island, 30 to 40 kilometers from the nearest large body of land. There was a short-lived sea plane service from Phuket, but it died a rather costly death a few years ago. So, the only way to get to Phi Phi is by boat. There is regular ferry service from Phuket, Ao Nang and Koh Lanta.
Note: no matter where you make the trip to Phi Phi from, there's a 20 Baht (0.52 USD) 'arrival tax' to be paid on the pier after disembarking the ferry.
Middle-deck interior on the Phi Phi Cruiser
From Phuket, most regular ferries leave from the Rasada pier an take about 90 minutes to reach Phi Phi. There are three or four different ferry companies operating on the route. Generally, there's a mass departure of all the ferries at 8:30 am and a second departure sometime in the afternoon. I found the Phi Phi Cruiser, pictured above, to be quite comfortable and well maintained. Regardless of which company you choose, you'll most likely pay the same fare, which is 600 Baht (15.58 USD). The fare from Phuket usually includes pick-up from your hotel. You can, in fact, purchase ferry tickets from most hotels on Phuket, and if yours doesn't sell them, there's probably a tour agent within a few steps of your hotel that does.
Ferries leave Phi Phi for Phuket at 11:30 and 15:30.
Speed boats can make the trip slightly faster than the ferries, but of course will cost you much more. Speed boats will only operate in daylight hours, so they generally will not leave Phuket after 4:30 pm.
From Ao Nang: Ferries depart daily at 8:30 am and leave Phi Phi for the return trip at 15:30. These ferries stop in Railay as well. The one-way fare is 450 Baht (11.69 USD) and the trip takes about 90 minutes.
From Krabi Town: There are usually three departures daily from Krabi Town, at 9:30, 14:30 and 15:30. Return trips from Phi Phi leave at 9:00, 10:30 and 14:00. The one-way fare is 400 Baht (10.39 USD) and the trip takes about 90 minutes.
From Koh Lanta: Ferries depart the pier in Saladan daily at 8:00 and 13:00 daily, and return from Phi Phi to Lanta at 11:30 and 15:30. The journey takes just around an hour and costs 400 Baht (10.39 USD).