Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439

    [PHP]: questa (espressione) non la capisco...

    Salve,
    lo so che siete tutti guru e che per voi l'esito di questa espressione è scontata ma io non capisco perchè dovrebbe uscire in output quel risultato:
    Codice PHP:
    <?php
    $a 
    1;
    $a $a-- +1;
    echo 
    $a// outputs 2!!
    Ho trovato questo esempio su un libro di testo e la spiegazione è che php non fa decrementare $a, quindi il $a-- va semplicemente perso...

    ...perchè?
    わさび

  2. #2

    Re: [PHP]: questa (espressione) non la capisco...

    Originariamente inviato da Trinità76
    ...perchè?
    perchè $a--, con a uguale a 1, sarà 1 in assegnazione, 0 al secondo riutilizzo, mentre --$a ha precedenza in assegnazione.


    $a = 1;
    $a = $a-- + $a; // 1, $a-- sarà uno ma l'$a dopo sarà stato decrementato, quindi uguale a zero


    $a = 1;
    $a = --$a + $a; // 0 , perchè --$a sarà subito zero più zero del secondo $a quindi totale zero



    $a = 0;
    echo $a++; // 0, ma $a sarà 1
    echo $a++; // 1, ma $a sarà 2
    echo $a; // 2



    $a = 0;
    echo ++$a; // 1



    [edit]
    vale per tutti i linguaggi che supportano questi operatori di incremento/decremento, dal C al JavaScript (e nel caso di C vale anche per i puntatori)
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  3. #3
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439

    Re: Re: [PHP]: questa (espressione) non la capisco...

    Originariamente inviato da andr3a
    perchè $a--, con a uguale a 1, sarà 1 in assegnazione, 0 al secondo riutilizzo, mentre --$a ha precedenza in assegnazione. [...]
    Grazie 1000 andr3a, ora ho le idee molto più chiare
    わさび

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.