Training, Open Source computer languages
PerlPHPPythonMySQLApache / TomcatTclRubyJavaC and C++LinuxCSS 
Search for:
Home Accessibility Courses Diary The Mouth Forum Resources Site Map About Us Contact
Why the error?

Posted by enquirer (enquirer), 19 January 2005
Why does this code

Code:
<?php
for ($k=0; $k<10; $k++) {
print ("This is row".$k+1."<br>");
}
?>


Produce this error:

Parse error: parse error in /Library/WebServer/live_html/oops.php4 on line 3


Posted by admin (Graham Ellis), 19 January 2005
It's all to do with the two possible uses of the full stop ("period" if you're reading in American and not English).  It can be
a) A decimal point
b) A concatenation operator

In the example code, the 1. is taken as a decimal value of "one point nought" and then the open double quote, coming straight after a numeric constant, is a syntax error.

Easiest solution - bracket the $k+1:

Code:
<?php
for ($k=0; $k<10; $k++) {
print ("This is row".($k+1)."<br>");
}
?>


gives

This is row1
This is row2
This is row3
This is row4
This is row5
This is row6
This is row7
This is row8
This is row9
This is row10




This page is a thread posted to the opentalk forum at www.opentalk.org.uk and archived here for reference. To jump to the archive index please follow this link.

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2014: Well House Manor • 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • FAX: 01144 1225 899360 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho