Что лучше Код (Text): echo '<p><option value=\'\''.$myrow['id'].'\'>'.$myrow['name'].'</option></p>'; //или echo '<p><option value=""'.$myrow['id'].'">'.$myrow['name'].'</option></p>'; И второй вопрос- как разукрасить код в разные цвета?
В HTML принято использовать двойные кавычки, так что второй вариант. Только в обоих вариантах у тебя одна лишняя кавычка перед $myrow. Код (PHP):
Код (PHP): echo '<p><option value="'.$myrow['id'].'">'.$myrow['name'].'</option></p>'; Код (PHP): значит =)
Код (PHP): echo '<p><option value=\'\''.$myrow['id'].'\'>'.$myrow['name'].'</option></p>'; //или echo '<p><option value=""'.$myrow['id'].'">'.$myrow['name'].'</option></p>'; да, все ок
Профит одинарных кавычек: в них не парсятся и не требуют слешинга никакие служебные символы, кроме \ и '; Фейл одинарных кавычек: не запилишь перевод строки, например; Профит двойных кавычек: в них парсятся, НО требуют слешинга овер9000 служебных символов. Можно пилить любое форматирование. И переменные парсятся, хотя мне не нра такое. Фейл двойных кавычек: малость муторные из-за вышеописанных свойств. Итог: и то и то хорошо там, где оправдывает свое применение.
Это ладно еще, когда IDE корректно парсит такую строку... Мне вот кажется удобнее и нагляднее через конкатенацию фигачить. Универсальнее. Туда можно не только переменную, но и любое выражение, функцию, тернарник закинуть. Каждому свое, как грицца
В таком варианте и подсветка работает, и удобно копипейстить фрагменты HTML и сами переменные, и об эскейпинге не надо думать: Код (PHP): printf('%s<p><option value="%s">%s</option></p>%s', "\t\t", $myrow['id'], $myrow['name'], "\n");
Дык и так можно переименовать. И отделение логики тут при чем? Это же уже способ вывода. Поздняк уже отделять.