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