I believe "high quality PHP" is an oxymoron. It's just impossible to be aware of all the pitfalls PHP contains. Here is just one example among many: > if( '33333333333333333333' == '33333333333333333334' ) echo "equal"; Output: "equal" The "reason" for this very odd behaviour is that the two strings are automatically converted into integers, which leads to an int overflow, which PHP ignores (ignoring errors is very P…
PHP does not automatically convert types unless you do something like this:
if( 33333333333333333333 == '33333333333333333334' )
But here the problem is the integer overflow not specifically the type conversions. You are going to get weird behaviour no matter what you do because you don't have enough bits to store that number.
If you want to use numbers this size then you are going to need some type other than the standard int.