2016-05-13 8 views
6

corro questo e produrrà 4to1Spiegare l'output di: echo 'to'.print (' 2 ') + 2;

ma hanno bisogno di una spiegazione su come è l'output di 4to1

Chiunque può pls spiegare?

+0

duplicati di http://stackoverflow.com/questions/13737265/explain-the-output-of-echo-2-3-print-3 – JiteshNK

+0

JiteshNK ho copiato dal modello stesso link Nella mia domanda non riesco a trovare la risposta su come funziona l'operatore (+) –

risposta

9

print('2')+2 questa parte di codice stamperà il numero 4 all'inizio della linea. Print verrà risolto prima dello echo.

Poi funzionano echo saranno risolti e eco contiene to come prima e se si utilizza print() dentro eco, verrà stampata il parametro della funzione come prima e poi il numero 1.

Come Andreas Scheibleger menzionato in commento, il 1 deriva dal valore di ritorno di print che è sempre 1, perché non è possibile eco una funzione print().

Ad esempio:

echo print("");  // 1 
echo print("test"); // test1 
+2

Per aggiungere una nota, il '1' viene dal valore di ritorno di' print' che è sempre '1' –

+0

Per aggiungere una nota, non si dovrebbe 'echo' a 'print'. – revo

+1

Ma perché 'print ('2') + 2' emette' 4'? Mi aspetto che questa espressione valuti come '3', dato che' print() 'restituisce sempre' 1', ma a quanto pare è valutato come 'print ('2' + 2)' ????? –

Problemi correlati