> Why is it better to change the booleans to 0 and 1?

Because

(bool)"0" == true, (bool)"1" = false

but

(bool)"true" == true, (bool)"false" = true

making coercing the latter into booleans a more complex process, as in
my li'l conditional above.

Of  course,  if you _only_ compare them as strings on the server, then
you will not have a problem. But then they are not actual booleans, so
why bother giving them names that appear so? And never converting them
into  0/1  means  you  always need a char column to store them in a db
as-is.  You  can  store  32 different bools in one int field -- but it
takes a varchar(5) to store just one boolean-like "true"/"false".

-- Sandy

Reply via email to