If you use "AND" and "OR", you'll eventually get tripped up by something like this:
<?php
$this_one = true;
$that = false;
$truthiness = $this_one and $that;
?>
Want to guess what $truthiness equals?
If you said "false" ...it's wrong!
"$truthiness" above has the value "true". Why? "=" has a higher precedence than "and". The addition of parentheses to show the implicit order makes this clearer:
<?php
($truthiness = $this_one) and $that;
?>
If you used "&&" instead of and in the first code example, it would work as expected and be "false".
This also works to get the correct value, as parentheses have higher precedence than "=":
<?php
$truthiness = ($this_one and $that);
?>