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. ============================ 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:[EMAIL PROTECTED]] Sent: Friday, January 18, 2002 11:44 AM To: php Subject: [PHP] bug in echo function? I ran across a curious bug in the echo function this morning. My PHP is Debian binary 4.1.1-1. The first example below does not work (it should draw a checkerboard-like table): ----- <html> <head> <title>Chess</title> <body> <table border=1> <? for ($i=0 ; $i<8 ; $i++) { echo "<tr align=center valign=center>"; for ($j=0 ; $j<8 ; $j++) { echo "<td>" . ($i*8)+$j . "</td>"; } echo "</tr>\n"; } ?> </table> </body> </html> ----- However, by changing the echo line to two echo lines, it works as desired: ----- <html> <head> <title>Chess</title> <body> <table border=1> <? for ($i=0 ; $i<8 ; $i++) { echo "<tr align=center valign=center>"; for ($j=0 ; $j<8 ; $j++) { echo "<td>"; echo ($i*8)+$j . "</td>"; } echo "</tr>\n"; } ?> </table> </body> </html> ----- I don't see any limitations about concatenating strings in the man page of the echo statement. Perhaps this is a bug? Billy -- 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] -- 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]