"Billy Harvey" <[EMAIL PROTECTED]> wrote in message [EMAIL PROTECTED]">news:[EMAIL PROTECTED]... > 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 >
Rather than concatenating strings, you can use commas with echo as well: echo "<td>", ($i * 8) + $j, "</td>"; I *think* that you may in fact get a VERY SLIGHT increase in performance by doing it this way, because PHP will simply dump each 'piece' to the output buffer/to the browser one by one rather than having to go through the work of building one large string and then outputting that. Caveats: This won't work if you use the function-like syntax for echo << echo(foo, bar, baz) /* this won't work */ >>, but as your example code doesn't use it I'm imagining you probably aren't either. -- Daniel Grace <[EMAIL PROTECTED]> -- PHP General Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]