2010-08-01 5 views

Antwort

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

oder

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

Schnell Erklären:

  • Sie haben nicht die Tags innerhalb wieder öffnen müssen ein echo String ("...")
  • Was ich hier getan ist der String "Welcome" verkettender $ _SESSION [ 'username'] und "" (was zu passieren. Betreiber der Fall ist)
  • PHP auch intelligent genug, um Variablen in einer PHP-String zu erkennen und bewerten:

    $ Variablenname = "Andrew";

    echo "Hallo $ Variablenname, willkommen";

=> Hallo Andreas, begrüßen

Mehr Infos: PHP.net - echo

+1

PHP wird Variablen in einer PHP-Zeichenfolge ersetzen, wenn die Zeichenfolge in doppelten Anführungszeichen oder einem Heredoc steht. Dies ist eine wichtige Unterscheidung. – JAL

+0

+1 Es ist so in dem Beispiel, aber ich habe es nicht explizit erwähnt! thx – Kami

+1

echo "

Welcome {$_SESSION['username']}
"; 'Sollte auch funktionieren? – Svish

6

Sie müssen Ihre Strings verketten & Variablen.

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

Variable Erweiterung funktioniert nicht in einfachen Anführungszeichen. Sie können entweder tun:

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

oder

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

Cool! +1. Ich wusste nicht, dass man assoziative Arrays wie im ersten Beispiel verwenden kann, ich war misstrauisch, wenn es funktionieren würde und ich habe es selbst getestet und es funktioniert tatsächlich, obwohl ich es wahrscheinlich nie so verwenden werde ... – zz1433

+1

Das erste Beispiel wird eine Warnung wie "undefined Konstante 'Benutzername', unter der Annahme 'Benutzername'". Es ist am besten, die Klammer-Syntax zu verwenden: 'echo"

Welcome {$_SESSION['username']}
"; – JAL

+0

@Alex JL, oops, behoben! – jasonbar

5

in einfache Anführungszeichen, Variablennamen analysiert werden nicht wie sie in doppelte Anführungszeichen sind. Wenn Sie hier Single-Strings in Anführungszeichen verwenden möchten, müssen Sie die String-Verkettung Operator verwenden, .:

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

By the way: die Antwort auf die Frage im Titel ist, dass, um verwenden, um eine wörtliche einfachen Anführungszeichen innerhalb eines Strings in einfachen Anführungszeichen, Sie die einfachen Anführungszeichen mit einem Backslash:

echo 'Here is a single-quote: \''; 
3

Allgemeinen das Apostroph innerhalb einer Zeichenfolge zu verwenden, die den Apostroph verwendet als Trennzeichen, entkomme einfach dem einfachen Zitat in der Strin g

echo 'That\'s all, folks'; 

Es ist jedoch nicht klar, was der Zweck Ihres Codes ist.

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

Wie Sie bereits PHP-Code verwenden, <?php echo ist nicht erforderlich. Wenn Sie nur den Inhalt einer Session-Variablen zur Ausgabe versucht werden, dann können Sie verwenden

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

Verwenden Sie den folgenden Code

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

Und wie beantwortet es die Frage "Wie verwenden Sie einfache Anführungszeichen in einfache Anführungszeichen?"? –