'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 */