2010-08-01 7 views

risposta

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

o

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

rapida Spiega:

  • Non è necessario riaprire i tag all'interno un echo String ("...")
  • Quello che ho fatto è quello di passare la stringa "Benvenuto" concatenato a $ _SESSION [ 'username'] e "" (ciò che il. operatore fa)
  • PHP è anche in grado di rilevare le variabili all'interno di una stringa di PHP e valutarli:

    $ nomevariabile = "Andrew";

    echo "Ciao $ variablename, welcome";

=> Ciao Andrea, benvenuto

Ulteriori informazioni: PHP.net - echo

+1

PHP sostituirà le variabili all'interno di una stringa PHP SE la stringa è tra virgolette doppie o Heredoc. Questa è una distinzione importante. – JAL

+0

+1 È così nell'esempio, ma non l'ho menzionato esplicitamente! grazie – Kami

+1

'echo"

Welcome {$_SESSION['username']}
";' Dovrebbe funzionare anche? – Svish

6

È necessario concatenare le stringhe & variabili.

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

L'espansione variabile non funziona all'interno di virgolette singole. Si può fare sia:

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

o

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

Cool! +1. Non sapevo che puoi usare array associativi come nel primo esempio, ero sospettoso se funzionasse e l'ho testato io stesso e funziona davvero, anche se probabilmente non lo userò mai in questo modo ... – zz1433

+1

Il primo l'esempio mostrerà un avvertimento come "username costante non definito", assumendo 'username' ". È preferibile utilizzare la sintassi della parentesi: 'echo"

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

+0

@Alex JL, oops, corretto! – jasonbar

5

All'interno virgolette singole, i nomi delle variabili non vengono analizzati come se fossero all'interno di virgolette doppie. Se si desidera utilizzare le stringhe racchiuse tra virgolette singole qui, è necessario utilizzare il concatenazione di stringhe operator, .:

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

A proposito: la risposta alla domanda nel titolo è che, al fine di utilizzare un letterale single-citazione all'interno di una stringa tra apici singoli, è fuggire single-citazione con un backslash:

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

generale, di utilizzare la sola offerta all'interno di una stringa che utilizza la citazione singolo come delimitatore, basta sfuggire alla singola citazione all'interno del cordone g

echo 'That\'s all, folks'; 

Non è chiaro quale sia lo scopo del codice.

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

Come si sta già utilizzando il codice PHP, <?php echo non è necessario. Se si sta solo cercando di uscita il contenuto di una variabile di sessione, quindi è possibile utilizzare

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

utilizzare il seguente codice

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

E come risponde alla domanda 'Come usare le virgolette singole tra virgolette singole?'? –

Problemi correlati