Hi all, Can anyone think of a more elegant way of achieving the following? <?php $flags = array(); if ($allow_fraction) { $flags[] = FILTER_FLAG_ALLOW_FRACTION; } if ($allow_thousand) { $flags[] = FILTER_FLAG_ALLOW_THOUSAND; } if ($allow_scientific) { $flags[] = FILTER_FLAG_ALLOW_SCIENTIFIC; } if (count($flags) > 0) { $c = '$c = ' . implode('|', $flags) . ';'; eval($c); $filter['flags'] = $c; } ?> The code checks for 3 booleans ($allow_fraction, etc) and if true it adds the const to the $flags array. At the end each value in the array is joined together into a string (the implode part), which would give something like: 4096|8192 - but I then need to return the actual value from this operation, so I'm eval'ing it. I don't like using eval, so can anyone think of a better way to do this? All I need as an end result if the product of the bitwise operation (i.e. an integer) stored in $filter['flags'] Cheers, Rich -- Zend Certified Engineer http://www.corephp.co.uk "Never trust a computer you can't throw out of a window" -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php