RE: [PHP] Re: UNLESS Statement Equivalent
| From: | Ford, Mike | Date: | Tue, 12 Mar 2013 08:50:59 +0000 |
| Subject: | RE: [PHP] Re: UNLESS Statement Equivalent | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-320480@lists.php.net to get a copy of this message | ||
> -----Original Message-----
> From: Maciek Sokolewicz [mailto:tularis@gmail.com] On Behalf Of
> Maciek Sokolewicz
> Sent: 11 March 2013 22:44
>
> unless ( $a and $b )
> =
> if ( ! ($a and $b) )
>
> So in simple terms, just stick a ! (or the keyword not) in front of
> your
> expression, and you'll have exactly what you want:
> if( not ( ($current_page == $saved_page) and ($current_ip ==
> $saved_ip)
> and ($current_dt < ($saved_dt + 3600) ) ) {
Whilst this is true as far as it goes, I would suggest applying deMorgan's laws
to simplify slightly to
if ( ($current_page != $saved_page) or ($current_ip != $saved_ip) or ($current_dt >=
($saved_dt + 3600) ) )
Also, the keyword versions of the Boolean operators are very low
priority, which is why you need all those extra parentheses -- if
you switch to the symbolic versions, you can leave all the internal
parentheses out to give:
if ($current_page != $saved_page || $current_ip != $saved_ip || $current_dt >= $saved_dt +
3600)
Cheers!
Mike
--
Mike Ford,
Electronic Information Developer, Libraries and Learning Innovation,
Portland PD507, City Campus, Leeds Metropolitan University,
Portland Way, LEEDS, LS1 3HE, United Kingdom
E: m.ford@leedsmet.ac.uk T: +44 113 812 4730
To view the terms under which this email is distributed, please go to http://disclaimer.leedsmet.ac.uk/email.htm