Regarding what Bob said about flags, I'd like to point out there's a 100% safe way of defining flags, which is using hexadecimal notation for integers:
<?php
define("f0", 0x1); define("f1", 0x2); define("f2", 0x4); define("f3", 0x8); define("f4", 0x10); define("f5", 0x20); define("f20", 0x1000000); define("f21", 0x2000000); define("f22", 0x4000000); define("f23", 0x8000000); define("f24", 0x10000000); ?>
I always avoid using decimal notation when I have a large amount of different flags, because it's very easy to misspell numbers like 2^20 (1048576).