Как использовать одинарные кавычки внутри одинарных кавычек?


Кто-нибудь может объяснить, как заставить этот код работать?

echo '<div id="panel1-under">Welcome <?php echo "$_SESSION['username']"; ?></div>';

Я пытался удалить одинарные кавычки (echo '<div id="panel1-under">Welcome <?php echo "$_SESSION[username]"; ?></div>';), но это не работает.

Author: kiamlaluno, 2010-08-02

6 answers

echo "<div id=\"panel1-under\">Welcome ".$_SESSION['username']."</div>";

Или

echo '<div id="panel1-under">Welcome '.$_SESSION['username'].'</div>';

Краткое объяснение:

  • Вам не нужно повторно открывать теги внутри строки echo (" ... ")
  • Что я здесь сделал, так это передал строку "Добро пожаловать", объединенную с $_SESSION['имя пользователя'] и "" ( что за. оператор делает)
  • PHP даже достаточно умен, чтобы обнаруживать переменные внутри строки PHP и оценивать их:

    $переменное имя = "Эндрю";

    Эхо "Привет $переменное имя, добро пожаловать ";

=> Привет, Эндрю, добро пожаловать

Дополнительная информация: PHP.net - эхо

 9
Author: Kami, 2010-08-01 23:10:40

Внутри одинарных кавычек имена переменных не анализируются так, как внутри двойных кавычек. Если вы хотите использовать здесь строки в одинарных кавычках, вам нужно будет использовать оператор конкатенации строк, .:

echo '<div id="panel1-under">Welcome <?php echo "'.$_SESSION['username'].'"; ?></div>';

Кстати: ответ на вопрос в заголовке заключается в том, что для использования буквальной одинарной кавычки внутри строки в одинарных кавычках вы экранируете одинарную кавычку, используя обратную косую черту:

echo 'Here is a single-quote: \'';
 7
Author: Hammerite, 2010-08-01 21:40:35

Вам нужно объединить ваши строки и переменные.

echo '<div id="panel1-under">Welcome ' . $_SESSION['username'] . '</div>';
 6
Author: Ben Rowe, 2010-08-01 21:38:51

Расширение переменной не работает внутри одинарных кавычек. Вы можете сделать следующее:

echo "<div id=\"panel1-under\">Welcome {$_SESSION['username']}</div>";

Или

echo '<div id="panel1-under">Welcome ' . $_SESSION['username'] . '</div>';
 5
Author: jasonbar, 2010-08-01 21:48:25

Вообще говоря, чтобы использовать одинарную кавычку внутри строки, которая использует одинарную кавычку в качестве разделителя, просто экранируйте одинарную кавычку внутри строки

echo 'That\'s all, folks';

Однако неясно, какова цель вашего кода.

echo '<div id="panel1-under">Welcome <?php echo "$_SESSION['username']"; ?></div>';

Поскольку вы уже используете PHP-код, <?php echo не требуется. Если вы только пытаетесь вывести содержимое переменной сеанса, то вы можете использовать

echo '<div id="panel1-under">Welcome ' . $_SESSION['username'] . '</div>';
 3
Author: kiamlaluno, 2010-08-01 21:47:51

Используйте следующий код

$data = $session['user'];
echo "a big string and $data   thats simple"
 0
Author: abilashov, 2014-01-07 16:16:41