2010-06-07 13 views
10

L'istruzione echo è molto semplice ma non riesco a risolverlo?Errore di sintassi dell'eco PHP con virgolette singole o virgolette doppie?

echo '"What is your name?'"; 
+12

Perché cose come questo, bocciata? –

+9

@Precision posso Vediamo davvero come questa domanda possa aiutare qualcun altro: cosa cercheranno per trovarlo? * "il mio codice è sbagliato" *? Anche riformulare la domanda per renderla utile è inutile. Se qualcuno sapesse cosa cercare (es. "mismatc hed quotes "), allora avrebbero già risolto il loro problema. Anche il più semplice debugging (es. * Guardando l'evidenziazione della sintassi *) mostrerebbe l'errore qui. Abbiamo tutti degli errori stupidi come questo che non riesci a capire subito, e non penso che ci sia qualcosa di sbagliato nel chiederglielo, ma è abbastanza ovvio perché sarebbe stato respinto. – nickf

+0

@nickf Sono d'accordo, ma gli intervistatori sembrano apprezzare questo, quindi ho dato il mio miglior scatto come modifica del titolo –

risposta

0
echo "What is your name?"; 

questo è semplicemente il migliore. No confusione Nessun problema .. :)

25

mancata corrispondenza dei singoli apici, utilizzare questo:

echo '"What is your name?"'; 

tuo primo personaggio che racchiude era citazione singolo ma finendo uno era virgolette che causa il problema

6

vostre citazioni sono annidati in modo non corretto.

10

errato:

echo '"What is your name?'"; 
         ^Unexpected character 

corretta:

echo '"What is your name?'; 

corretta:

echo "What is your name?"; 

corretta:

echo 'What is your name?'; 

corretta:

echo '"What is your name?"'; 

corretta:

echo "'What is your name?'"; 
+0

@ Savaraz - come lo capisci? Come fai a sapere che non vuole le virgolette singole nella stringa? – nickf

+0

@nickf: Non ho detto che non vuole le virgolette singole, intendevo che ha bisogno della sua stringa tra virgolette, qualcosa che può essere visto dal suo codice, solo che ha posto fine alle virgolette singole, fondamentalmente sembra che lo faccia eco come questo "Qual è il tuo nome?", vedi le doppie virgolette incluse nell '* output *. Qualcosa che può essere capito dal suo codice "" Qual è il tuo nome?"';' – Sarfraz

+0

@sarfraz: 'solo che ha piazzato erroneamente le virgolette singole ... o le virgolette iniziali sono state piazzate erroneamente ... – nickf

1

Questo è dove il vostro interprete sta soffocando: '? "Qual è il tuo nome'

eco ";

attesa ; non "

2
echo "\"What is your name?\""; 
Problemi correlati