The best way to do money is with decimal arithmetic. PHP has the bcmath functions to enable you to do this. http://uk.php.net/manual/en/ref.bc.php
Many people will say, 'Ah, but you only need 2 decimal places. Using float and round() is good enough; you don't need the higher precision' (as my ISP has just said to me when I asked them to turn the bcmath functions ON)
Rubbish. Precision ALWAYS matters when it comes to money. Believe me, I've been down this road before with other database systems and languages. You start doing some simple calculations and comparisons and you get the wrong results. That is why eg. IBM mainframes had the packed-decimal data type and MS Access has the Currency data type. MySQL has the decimal data type for this purpose as well, and you can choose the number of decimal places you want to use.
Floating point numbers are never any good for accounts, and should NEVER be used to store or manipulate money.