Все, что я хочу сделать, это выставить переменную PHP внутри тега <li>
. Обратитесь к приведенному ниже коду. Каков правильный формат? Мой не работает.Как эхо PHP и HTML в одной строке?
$row['cat_title'];
echo "<li> {$cat_title} </li>";
Все, что я хочу сделать, это выставить переменную PHP внутри тега <li>
. Обратитесь к приведенному ниже коду. Каков правильный формат? Мой не работает.Как эхо PHP и HTML в одной строке?
$row['cat_title'];
echo "<li> {$cat_title} </li>";
echo '<li>'.$var.'</li>';
ИЛИ
echo "<li>$var</li>";
ИЛИ
<li><?=$var?></li>
@DuaneLortie Пожалуйста, прекратите распространение дезинформация. Этот тег будет работать во всех * современных версиях PHP с PHP 5.4, независимо от того, включены или выключены короткие теги. ' =' не имеет ничего общего с короткими тегами, он безопасен в использовании и длится долгое время. – meagar
@Robert Для всех современных версий php ' =' Отлично. См. Выше, и прекратите распространять эту дезинформацию. – meagar
Это зависит от версии php клиентов. – McStuffins
Вы должны ссылаться на правильную переменную. Но ты на правильном пути.
echo "<li> {$row['cat_title']} </li>";
Другой вариант:
<li><?php echo $row['cat_title']; ?></li>
Тому, кто его ниспровергал: скажите, пожалуйста, почему в мире это неправильно – CarlosCarucce
Любой из этих методов будет работать ...
// use singlequotes and periods like this....
echo '<li>'. $row['cat_title'] .'</li>';
ИЛИ
// use doublequotes like this...
echo "<li> $row['cat_title'] </li>";
Метод 1 работает, но метод 2 содержит синтаксическую ошибку. –
Если вам нужно вывести значение а конкретный ключ массива (например, $row['cat_title']
) в HTML, у вас есть немало вариантов.
Вы можете использовать concatenation operator (.
):
echo '<li>' . $row['cat_title'] . '</li>';
Вы можете использовать переменные интерполяции с simple string parsing (обратите внимание, что в этом синтаксисе, котировки вокруг ключа массива должен быть опущен):
echo "<li>$row[cat_title]</li>";
Вы можете использовать переменную интерполяцию с complex string parsing (используя {}
), что на самом деле здесь не обязательно, но полезно для более интерполирования более сложных выражений. С помощью этого синтаксиса, котировки вокруг массива ключевых должны быть включены .:
echo "<li>{$row['cat_title']}</li>";
Вы можете вывести простой HTML и использовать echo ярлык синтаксис <?=
для вывода значения (только это сделать, если вы уже выводить HTML, не, если вы в настоящее время в <?php
тег, который будет синтаксической ошибкой.):
<li><?= $row['cat_title'] ?></li>
вы можете использовать printf
(благодаря комментарий Элиас Ван Ootegem за напоминание мне об этом, я должен ч аве включил его для начала). sprintf
может использоваться, если вы хотите сохранить результат вместо переменной; printf
будет выводить его сразу:
printf('<li>%s</li>', $row['cat_title']);
Первый аргумент printf
является строка формата, где %s
является строкой conversion specification, которая будет принимать значение $row['cat_title']
, когда printf
выполняется.
Есть и другие способы, но они являются наиболее распространенными.
Вы забыли лучший вариант: '
@meagar Вы правы. Написание ответов, чтобы избежать «этого не работало на моем сервере PHP 5.2», отклики - это ленивая привычка, которую мне нужно сломать. Я полагаю, что соответствующий ответ на эти типы ответов не «тогда вам придется использовать« Php echo »вместо этого,« на самом деле »вам нужно прекратить использовать устаревшие версии PHP». Я не должен уменьшать качество своих ответов, чтобы поддерживать вредные привычки людей. –
Это действительно хороший и всеобъемлющий ответ. Я поставил вопрос как дубликат другого вопроса, но я чувствую, что это лучший ответ, чем дубликат. –
Если файл в основном PHP в файле, то:
<?php echo "<li>" . $row['cat_title'] . "</li>"; ?>
Или converseely, если его главным образом HTML в файле, то:
<li><?php echo $row['cat_title']; ?></li>
Его звучит для меня, что его, скорее всего, второй вариант - это то, что вы ищете.
Используете ли вы механизм шаблонов (например, smarty)? – GreensterRox
Templating - это способ пойти IMO, в дополнение к ответам на основе echo, вы также можете использовать '(s) printf ('
PHP ** является ** шаблоном двигателя. Включение целых сторонних шаблонов для выполнения простой конкатенации строк/интерполяции смешно. Если это в шаблоне/представлении, используйте '