2017-05-24 1 views
1

Je suis confronté à un problème inattendu avec l'opérateur increment en PHP. S'il vous plaît jeter un oeil sur les données de deux programmes:Face à un problème avec l'opérateur Increment dans PHP

1er programme:

<?php 
    $a=5; 
    $a++; 
    echo $a; 
?> 

imprime , que je compris clairement que ce qui était arrivé, juste incrémente la valeur avec 1.

Programme 2:

<?php 
    $a=5; 
    $b = $a++;  // just assigned incremented value to a new variable b. 
    echo $b; 
?> 

imprime .

Maintenant, voici la confusion, je viens d'attribuer la valeur incrémentée à la variable, donc je devrais imprimer 6 - pourquoi il imprime 5?

+1

Possible duplicate de [Référence - Que signifie ce symbole en PHP?] (Https://stackoverflow.com/q/3737139/6521116) –

+0

Dans ce second scénario $ une valeur non incrémentielle, elle sera traitée comme si $ a est assignée à $ b. Donc, la valeur est 5 seulement. – RaMeSh

+0

'$ a ++', utilisez d'abord la valeur de l'expression puis l'incrément automatique. tandis que '++ $ a' augmente automatiquement d'abord, utilisez la valeur de l'expression. –

Répondre

1

Vous obtenez 5 car dans l'opérateur postfix, il affectera d'abord la valeur à $ b après que leur valeur sera incrémentée. SO first $ a est assigné à $ b après que la valeur de $ ait été augmentée