Briedis point важен и необходим. но проще - это не то, как работает цикл while
while(exp)
{
//body runs while exp remains true
}
Вы не помещаете туда три выражения, как в цикле for. Если вы хотите сохранить его как цикл while, выполните
$i = 13
while($i < $keysCount-3)
{
//body, with necessary increments
}
И если вместо этого вы решите сделать цикл for, после третьего (как правило, возрастающего) выражения не ставится точка с запятой
Какой бы метод цикла вы не использовали, вам нужно вынуть его из строки, как указано Briedis. либо создайте временную переменную, такую как $tbody
, либо несколько раз объедините с $message
в теле цикла.