2009-09-09 15 views
16

Eventuali duplicati:?
PHP: different quotes?Qual è la differenza tra 'e "in PHP

domanda semplice:

Qual è la differenza tra' e" in php? Quando dovrei usare entrambi?

+7

Dupe: http: // StackOverflow. it/questions/1318028/php-different-quotes – strager

+0

Cerca in stackoverflow (la casella di ricerca si trova nell'angolo in alto a destra) prima di pubblicare una nuova domanda. – ChristopheD

+0

l'ho fatto, in realtà. apparentemente non abbastanza bene. grazie – johnnietheblack

risposta

13

In sostanza, le stringhe racchiuse tra virgolette singole sono testo normale, praticamente senza caso speciale, mentre stringhe tra doppi apici hanno interpolazione variabile (ad esempio echo "Hello $username";), così come le sequenze di escape come ad esempio "\ n" (nuova riga.)

È può imparare di più sulle stringhe in PHP's manual.

0

"interpreta escape dei caratteri e le variabili. 'Non fare neanche.

1

La differenza è, le stringhe tra doppie virgolette (") vengono analizzati per la variabile e la fuga di sostituzione sequenza. Le stringhe tra virgolette singole (') non lo sono.

Così, usando le virgolette (") che si possono fare:.

$count = 3; 
echo "The count is:\t$count"; 

che produrrà

Lo stesso tra apici restituisce la stringa letterale

Inoltre, il caratteri che devono essere sfuggiti. Se si dispone di una stringa come:

'John said, "Hello"' 

probabilmente useresti virgolette singole, per evitare di dover sfuggire alle virgolette nella stringa e viceversa.

2

Qualsiasi variabile all'interno di una "stringa quotata verrà analizzata. Qualsiasi variabile in una stringa quotata non verrà analizzata e verrà visualizzata letteralmente come nome della variabile. Per questo motivo, le stringhe tra virgolette sono leggermente più veloci per PHP . al processo

$test = 'hello'; 
echo "this is a $test"; // returns this is a hello 
echo 'this is a $test'; // returns this is a $test 

direi uso 'cita se non volete variabili dentro le corde

0

In una parola:. quando si desidera a tutti i vostri caratteri speciali (come \ n) e varables (come $ numero) essere notato e proce ss.

18

Ci sono 3 syntax used to declare strings, in PHP < = 5.2:

Con apici:

variabili e le sequenze di escape per caratteri speciali non sarà ampliato

Per esempio: uscita

echo 'Variables do not $expand $either'; 

Will:

Variables do not $expand $either 


Con doppi apici:

La caratteristica più importante delle stringhe con virgolette è il fatto che i nomi delle variabili verranno espansi.

Per esempio:

$a = 10; 
echo "a is $a"; 

Will uscita:

a is 10 


E, con heredoc:

testo heredoc si comporta proprio come un 012.stringa con doppia citazione, senza le virgolette doppie. Ciò significa che le citazioni in una heredoc non hanno bisogno di essere sfuggito,

Per esempio:

$a = 10; 
$b = 'hello'; 

$str = <<<END_STR 
a is $a 
and "b" is $b. 
END_STR; 

echo $str; 

si arriva:

a is 10 
and "b" is hello. 
Problemi correlati