Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Comando echo : uso del simbolo +

    Ciao ragazzi, sto da poco entrando nell'universo PHP. Mi sto cimentando in piccoli script e la cosa mi interessa molto. Attualmente mi trovo a fare prove con il comando echo, ed ho notato una cosa che ancora non mi è chiara. Posto qui di seguito solo lo script... è un esempio molto semplice per farvi capire:
    [...]
    <?php
    $num1=5;
    $num2=8;

    echo 'La loro somma è ' .($num1+$num2);
    ?>
    [...]

    In questo modo lo script funziona correttamente. (output = 13)
    Se provo invece a omettere le parentesi, ovvero:
    [...]
    <?php
    $num1=5;
    $num2=8;

    echo 'La loro somma è ' .$num1+$num2;
    ?>
    [...]
    il browser mi restituisce solamente il valore contenuta nella variabile $num2... Non so come viene elaborata questa espressione, e vorrei capire quindi il ruolo che ha il simbolo '+' .
    Grazie
    Ultima modifica di diegodavide; 02-11-2015 a 20:42

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Strano. Stessa cosa con - ma funziona bene con * o /.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Si ho visto pure io prima...forse c'è qualche regola di "precedenza" nelle operazioni. Un comando molto usato e molto facile da usare, ma come vedo nasconde delle sottigliezze

  4. #4
    leggi qua

    http://php.net/manual/en/language.operators.string.php

    la prima nota risponde al tuo caso

    codice:
    echo "Result: " . $var + 3;
    
    
    The above will print out "3" instead of "Result: 6", since first the string "Result3" is created and this is then added to 3 yielding 3, non-empty non-numeric strings being converted to 0.
    in generale, per non saper né leggere e né scrivere, cerca di evitare situazioni ambigue.

    E' chiaro che concatenando senza alcun criterio variabili numeriche e stringhe sei soggetto alle regole del compilatore, che puoi non conoscere o non ricordarti a fondo.

    Con le parentesi vai sul sicuro e ti metti al riparo da qualsiasi ambiguità anche a beneficio di chi legge il tuo codice (che potresti essere anche tu stesso, in un tempo futuro).

  5. #5
    Quote Originariamente inviata da piesse78 Visualizza il messaggio
    leggi qua

    http://php.net/manual/en/language.operators.string.php

    la prima nota risponde al tuo caso

    codice:
    echo "Result: " . $var + 3;
    
    
    The above will print out "3" instead of "Result: 6", since first the string "Result3" is created and this is then added to 3 yielding 3, non-empty non-numeric strings being converted to 0.
    in generale, per non saper né leggere e né scrivere, cerca di evitare situazioni ambigue.

    E' chiaro che concatenando senza alcun criterio variabili numeriche e stringhe sei soggetto alle regole del compilatore, che puoi non conoscere o non ricordarti a fondo.

    Con le parentesi vai sul sicuro e ti metti al riparo da qualsiasi ambiguità anche a beneficio di chi legge il tuo codice (che potresti essere anche tu stesso, in un tempo futuro).
    Ti ringrazio del consiglio e dell'esempio. Stavo cercando qualcosa di simile proprio nel sito della documentazione di PHP. Ora mi è più chiaro. In pratica quando una stringa viene "sommata" ad un tipo numerico... la stringa viene convertita in '0' .

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.