Как использовать одинарные кавычки внутри одинарных кавычек? - PullRequest
9 голосов
/ 02 августа 2010

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

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

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

Ответы [ 6 ]

10 голосов
/ 02 августа 2010
echo "<div id=\"panel1-under\">Welcome ".$_SESSION['username']."</div>";

или

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

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

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

    $ variablename = "Andrew";

    echo "Здравствуйте, $ variablename, welcome ";

=> Здравствуйте, Андрей, добро пожаловать

Больше информации: PHP.net - echo

8 голосов
/ 02 августа 2010

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

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

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

echo 'Here is a single-quote: \'';
6 голосов
/ 02 августа 2010

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

echo '<div id="panel1-under">Welcome ' . $_SESSION['username'] . '</div>';
5 голосов
/ 02 августа 2010

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

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

или

echo '<div id="panel1-under">Welcome ' . $_SESSION['username'] . '</div>';
3 голосов
/ 02 августа 2010

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

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>';
0 голосов
/ 07 января 2014

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

$data = $session['user'];
echo "a big string and $data   thats simple"
...