'odd', 'odd' => 'even'); $class = 'even'; $time_start = microtime(true); for ($number = 0; $number < 200000; $number++) { $class = ($number % 2 == 1) ? 'even': 'odd'; } $time_end = microtime(true); $old_time = $time_end - $time_start; $time_start = microtime(true); for ($number = 0; $number < 200000; $number++) { $class = $flip[$class]; } $time_end = microtime(true); $array_flip_time = $time_end - $time_start; $time_start = microtime(true); for ($number = 0; $number < 200000; $number++) { $class = $class == 'even' ? 'odd' : 'even'; } $time_end = microtime(true); $tri_flip_time = $time_end - $time_start; echo "Old time is $old_time seconds\n"; echo "Array flip time is $array_flip_time seconds\n"; echo "Trinary flip time is $tri_flip_time seconds\n"; ?> /** Results: // Old time is 2.94821381569 seconds Array flip time is 2.82611393929 seconds Trinary flip time is 3.10265183449 seconds // Old time is 2.9622759819 seconds Array flip time is 2.9366338253 seconds Trinary flip time is 3.28688883781 seconds // Old time is 3.1440680027 seconds Array flip time is 2.91075491905 seconds Trinary flip time is 3.05684518814 seconds // Old time is 3.09293603897 seconds Array flip time is 2.87835907936 seconds Trinary flip time is 3.03077507019 seconds // Old time is 3.16652011871 seconds Array flip time is 2.86847901344 seconds Trinary flip time is 3.02843999863 seconds */