CODING PRACTICE...
Much of the confusion about booleans (but not limited to booleans) is the fact that PHP itself automatically makes a type cast or conversion for you, which may NOT be what you want or expect. In most cases, it's better to provide functions that give your program the exact behavior you want.
<?php
function boolNumber($bValue = false) { // returns integer
return ($bValue ? 1 : 0);
}
function boolString($bValue = false) { // returns string
return ($bValue ? 'true' : 'false');
}
$a = true; // boolean value
echo 'boolean $a AS string = ' . boolString($a) . '<br>'; // boolean as a string
echo 'boolean $a AS number = ' . boolNumber($a) . '<br>'; // boolean as a number
echo '<br>';
$b = (45 > 90); // boolean value
echo 'boolean $b AS string = ' . boolString($b) . '<br>'; // boolean as a string
echo 'boolean $b AS number = ' . boolNumber($b) . '<br>'; // boolean as a number
echo '<br>';
$c = boolNumber(10 > 8) + boolNumber(!(5 > 10)); // adding booleans
echo 'integer $c = ' . $c .'<br>';
?>
Results in the following being printed...
boolean $a AS string = true
boolean $a AS number = 1
boolean $b AS string = false
boolean $b AS number = 0
integer $c = 2
In other words, if we know what we want out of our program, we can create functions to accommodate. Here, we just wanted 'manual control' over numbers and strings, so that PHP doesn't confuse us.
----
Server IP: 69.147.83.197
Probable Submitter: 67.150.174.235
----
Manual Page -- http://www.php.net/manual/en/language.types.boolean.php
Edit -- https://master.php.net/note/edit/86171
Del: integrated -- https://master.php.net/note/delete/86171/integrated
Del: useless -- https://master.php.net/note/delete/86171/useless
Del: bad code -- https://master.php.net/note/delete/86171/bad+code
Del: spam -- https://master.php.net/note/delete/86171/spam
Del: non-english -- https://master.php.net/note/delete/86171/non-english
Del: in docs -- https://master.php.net/note/delete/86171/in+docs
Del: other reasons-- https://master.php.net/note/delete/86171
Reject -- https://master.php.net/note/reject/86171
Search -- https://master.php.net/manage/user-notes.php
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.