Re: UNLESS Statement Equivalent

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11-3-2013 22:32, Angela Barone wrote:
	I'm looking for an 'unless' statement, but as far as I can tell, PHP doesn't have one.  Hopefully someone can help me rewrite my statement.

	In English, I want to say: "always do something UNLESS these 3 conditions are met".

	The best I've been able to come up with in PHP is this:

if ( ($current_page == $saved_page) and ($current_ip == $saved_ip) and ($current_dt < ($saved_dt + 3600)) ) {
	return;
} else {
	$query  = "UPDATE `table` SET `hits` = '$count', `agent` = '$agent', `ts` = '$date_time'  WHERE `page` = '$page'";
	$result = mysql_query($query) or die ('Error! -- ' . mysql_error());
}

	However, I've read where this is not really acceptable.  Can someone help me eliminate the 'else' portion of this if statement?

Thank you,
Angela

P.S.  I realize the above isn't complete code but it should still be clear.  If not, let me know.


Logically, unless means the same as if not. As long as you condense your entire expression to a single boolean result, the only thing you would need to do is negate it to create your unless-statement.

In code, this would mean:
unless ( $a )
=
if ( !$a )

or to show it in a more clear way:
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) ) ) {

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux