RE: [PHP] bug in echo function?

From: Date: Fri, 18 Jan 2002 19:14:06 +0000
Subject: RE: [PHP] bug in echo function?
Groups: php.general 
Request: Send a blank email to php-general+get-81137@lists.php.net to get a copy of this message
Good day, No, that's not it. It's just a simple matter of order of operations. You have an expression- that expression needs to be evaluated into one thing, and that one thing is then passed to echo() as the single argument. I'm not a php expert, but evidently the "." operator is evaluated before the "*" operator, which in turn is evaluated before the "+" operator. Perhaps it would be easier to understand if you thought of the "." operator like the exponent operator in math- it is evaluated before "*" or "+" is. ============================ Darren Gamble Planner, Regional Services Shaw Cablesystems GP 630 - 3rd Avenue SW Calgary, Alberta, Canada T2P 4L4 (403) 781-4948 -----Original Message----- From: Billy Harvey [mailto:Billy.Harvey@thrillseeker.net] Sent: Friday, January 18, 2002 12:07 PM To: Darren Gamble Cc: php Subject: RE: [PHP] bug in echo function? On Fri, 2002-01-18 at 13:54, Darren Gamble wrote: > Good day, > > The reason that the first statement doesn't work as intended is due to the > order that the operands are processed. > > The operands in the line: > > "<td>" . ($i*8)+$j . "</td>" > > are being processed like this: > > ("<td>" . ($i*8))+($j . "</td>") > > If you change the line to: > > "<td>" . (($i*8)+$j) . "</td>" > > then you'll get the desired result. > > Rule of thumb: Use parenthesis whenever you have a complex operation to > ensure the result is what you want. Hmmm - so my assumption that the concatenation operator between the strings gives them a delination equivalent to listing this as three separate echo statements is incorrect, I take it. Shouldn't the echo function process it in this manner from a standpoint of consistency? Thanks for the clarification. Billy

« previous php.general (#81137) next »