Your assumptions are correct. It's called a ternary operator and it is a substitution or the if-else statements. I try not to overuse it since I don't think it's as readable as the block if statement. But for things not assigning a value to a variable, I think it's better than the block statement since you're more interested in the variable declaration than the condition of it's value.


On Thursday, September 25, 2003, at 12:47 PM, Jeff McKeon wrote:


I've just picked up a more advanced book on PHP and it has a lot of
example code in it. I understand most of it but some things I'm seeing I
don't understand. Like the following...


code:
----------------------------------------------------------------------- -
--------


$couponcode = (! empty($_REQUEST['couponcode'])) ?
$_REQUEST['couponcode'] : NULL;
----------------------------------------------------------------------- -
--------


I think this is saying:

If the global variable couponcode is not empty, then the variable
'$couponcode' is equal to "$_REQUEST['couponcode']" otherwise it gets a
"NULL" value.

What's throwing me is the use of the "!" and "?" and ":"

If What I suspect is correct, I've never seen an if-then statement like
this. If it is a replacement for an IF-Then statement then it's much
cleaner and I'd like to use it.

another one is:


code:
----------------------------------------------------------------------- -
--------
IF (!strcmp($operator, '+')) {
$result = $num1 + $num2
}
----------------------------------------------------------------------- -
--------


I've looked up strcmp() and know it's used to compair two strings. The
$operator variable in the script that this was taken from is set to
either "-", "+", "*" or "/". What I don't understand here is what the
"!" in front of strcmp() means.

Can anyone break down the code for me and explain the parts?

thanks,

Jeff

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



--
Brent Baisley
Systems Architect
Landover Associates, Inc.
Search & Advisory Services for Advanced Technology Environments
p: 212.759.6400/800.759.0577

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



Reply via email to