Доброго времени суток. Недавно начал изучать PHP и все с ним связанное. Задание: создать таблицы сложения и умножения. Написал данный код PHP: $rows = 9; $cols = 9; echo '<table border="1"> <th> </th>'; //пустая ячейка в левом верхнем углу for ($td=1; $td<=$cols; $td++){echo '<td style="color:black;background-color:Yellow"> <b> <center>'. $td . '</b></center></td>';} //закрашивание верхней строки for ($tr=1; $tr<=$rows; $tr++){ echo '<tr>'; for ($td=0; $td<=$cols; $td++){ if ($td===0){ echo '<th style="color:black;background-color:yellow">'. $tr .'</th>'; //закрашивание левого ряда } else{ echo '<td>'. "$tr × $td = ".'<b>'. $tr*$td.'</b>' .'</td>'; //значения } } echo '</tr>'; } echo '</table>'; Проблема в том, что при замене в 14й строке знака умножения на знак сложения значения перестают записываться в ячейки таблицы и выводятся в другое место, хотя, вроде бы, все должно работать. В чем ошибка и как её исправить?
См. «приоритет операторов». Как исправить, думаю, догадаешься сам, если в школе учился. --- Добавлено --- Зачем эта нагрузка? PHP: if ($td===0){ echo '<th style="color:black;background-color:yellow">'. $tr .'</th>'; //закрашивание левого ряда } else{ Размести перед циклом без ветвления. --- Добавлено --- P.S. В echo можно указывать несколько параметров через запятую. А еще есть альт. синтаксис echo и алг. конструкций
Ошибку исправил, заработало, спасибо! Но не понял, откуда берется вторая операция, там же только сложение? Или инкремент в условии цикла тоже участвует в распределении приоритетов операций? По поводу лишней нагрузки согласен, исправлю, просто хотелось что бы все заработало сначала.