is there any way that string 'false' (and its variations with capital
letters) could be interpeted as boolean of value false? i have xml
configuration file that has some switches (true/false) in it. when i use
this values in functions that require booleans i get true every time (as
string isnt empty) :/ i hoped that at least with explicit type cast i could go around this problem, but i didn
t help.
how about adding this special case to conversion rules? creating ifs around such code doesn
t make me happy at all :]
rash
Robert Janeczek wrote:
is there any way that string 'false' (and its variations with capital
letters) could be interpeted as boolean of value false? i have xml
configuration file that has some switches (true/false) in it. when i use
this values in functions that require booleans i get true every time (as
string isnt empty) :/ i hoped that at least with explicit type cast i could go around this problem, but i didn
t help.
how about adding this special case to conversion rules? creating ifs around such code doesn
t make me happy at all :]
IMO better as userland function/method (this is extract from a Phing class):
...
private static $TRUE_VALUES = array("on", "true", "t", "yes");
...
public function booleanValue($s) {
if (is_bool($s)) {
return $s; // it's already boolean (not a string)
}
// otherwise assume it's something like "true" or "t"
$trimmed = strtolower(trim($s));
return in_array($trimmed, self::$TRUE_VALUES);
}
Hans
"Robert Janeczek" rashid@ds.pg.gda.pl writes:
is there any way that string 'false' (and its variations with capital
letters) could be interpeted as boolean of value false? i have xml
configuration file that has some switches (true/false) in it. when i use
this values in functions that require booleans i get true every time (as
string isnt empty) :/ i hoped that at least with explicit type cast i could go around this problem, but i didn
t help.
how about adding this special case to conversion rules? creating ifs around such code doesn
t make me happy at all :]
What do eval('false') and eval('true') return? You can probably just do
eval(xmlText) to get the results you're looking for. (Just beware that the
xmlText actually contains one of the values "true" or "false", and not some
malicious php code.)
Derrell
Derrell Lipman wrote:
"Robert Janeczek" rashid@ds.pg.gda.pl writes:
is there any way that string 'false' (and its variations with capital
letters) could be interpeted as boolean of value false? i have xml
configuration file that has some switches (true/false) in it. when i use
this values in functions that require booleans i get true every time (as
string isnt empty) :/ i hoped that at least with explicit type cast i could go around this problem, but i didn
t help.
how about adding this special case to conversion rules? creating ifs around such code doesn
t make me happy at all :]What do eval('false') and eval('true') return? You can probably just do
eval(xmlText) to get the results you're looking for. (Just beware that the
xmlText actually contains one of the values "true" or "false", and not some
malicious php code.)Derrell
or use integers in the xml file and force type casting (integer)$xmlText