You don’t use commas to concatenate strings.
I removed , but showed me error
Don’t remove the comma, I already told you you use a dot to concatenate strings.
While you can inline a variable without needing to use the string concatenation operator (which is a period in PHP),
echo "Print out my $variable";
You cannot do that within a single-quoted string in PHP (as you have it in your code):
Note : Unlike the double-quoted and heredoc syntaxes, variables and escape sequences for special characters will not be expanded when they occur in single quoted strings.
Source: PHP: Strings - Manual
There are two options to fix this:
Switch to double quotes so you can reference the variable as $i
inline your String, noting that you need to escape nested double quotes with \"
(or, alternatively, you could switch the inline double quotes for single quotes) :
$str = "<p style=\"color: red;\"><u>$i</u></p>";
vs
$str = "<p style='color: red;'><u>$i</u></p>";
Or, if you must use single-quotes, learn how to properly nest quotes, and concatenate strings that are single-quoted in PHP (which they do not show an example of how to do on your tutorial site):
$str = '<p style="color: red;"><u>' . $i . '</u></p>';
Are you meaning to pre-increment the counter in your for loop? There is a difference between ++$i
and $i++
(one increments before (++pre-increment) running the code in your for loop, whereas the other increments after (post-increment++) the code in the for loop is run). While the for loop is appropriately initialized to 1, knowing the difference will help explain how initializing $i
to 1 is starting the output of the for loop at 2 rather than 1. PHP: Incrementing/Decrementing Operators - Manual
you sir, have the patience of a saint!!!