As for O2, it charges more for the iPhone on a 24-month contract than for those on an 18-month contract, but the monthly payments are £5 less than on the 18-month deals.
You'll pay anything from £323 to £29 for the iPhone 4 32GB, depending on your tariff (from £25-£60/month on the 24-month deal), and £279 or less for the 16GB model (it's free with the top tariff). O2 has also abolished its unlimited data plan. Full details here (opens in new tab).
Vodafone has yet to confirm its price plans, although they were leaked online earlier this week.
You can also buy the iPhone 4 SIM-free on the Apple website (opens in new tab) for £499 (16GB) or £599 (32GB). Yesterday the company announced it had more than 600,000 pre-orders for the phone, leading to delivery delays in the US and UK.