Re: "My truth comes out" [1]

From: Date: Sat, 23 Oct 2010 17:38:21 +0000
Subject: Re: "My truth comes out" [1]
References: 1 2 3  Groups: php.general 
Request: Send a blank email to php-general+get-309042@lists.php.net to get a copy of this message
Richard Quadling wrote:
On 21 October 2010 12:42, Richard Quadling <rquadling@gmail.com> wrote:
On 21 October 2010 10:39, Gary <php-general@garydjones.name> wrote:
Is there any nice way to convert a string containing either "TRUE" or "FALSE" to a bool with the appropriate value? I know I can just "if (strcmp..." but, as the song goes on to say "...ugly, so ugly, it's ugly"[1]
What is the response when the string is NOT "TRUE" or "FALSE"?
<?php $s_OriginalValue = 'FALSE'; $b_Test = in_array($s_Test = strtolower($s_OriginalValue), array('true', 'false')) ? !!strcmp($s_Test, 'false') : null; var_dump($b_Test); $s_OriginalValue = 'TRUE'; $b_Test = in_array($s_Test = strtolower($s_OriginalValue), array('true', 'false')) ? !!strcmp($s_Test, 'false') : null; var_dump($b_Test); $s_OriginalValue = 'GARBAGE'; $b_Test = in_array($s_Test = strtolower($s_OriginalValue), array('true', 'false')) ? !!strcmp($s_Test, 'false') : null; var_dump($b_Test); ?> outputs ... bool(false) bool(true) NULL
This is one of those threads where you can go mad with proposals, thus: $value = constant($value); just so happens that constant() is case insensitive and there are constants "true" and "false" <?php var_dump( constant("false") ); var_dump( constant("FALSE") ); var_dump( constant("true") ); var_dump( constant("TRUE") ); //output bool(false) bool(false) bool(true) bool(true)

« previous php.general (#309042) next »