2010年8月25日

[PHP-users 35351] Re:演算子の評価順位

進藤です。

ちなみに、PHP4.4.1 では、以下の様な結果になります。

私は、こちらの結果が文法上正しいと思っています。
なぜなら、$a-- は、1 と評価されてから $a がデクリメントされるのが
演算子の評価順として適正だと思います。

$ php -v
PHP 4.4.1 (cli) (built: Nov 3 2005 19:50:09)
Copyright (c) 1997-2004 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies
$ php -r '$a = 1; echo ($a + 0 + $a--) . "\n";'
2
$ php -r '$a = 1; echo ($a + $a-- + 0) . "\n";'
2


>関根と申します。
>
>最初の式は
>(($a + 0) + $a--)
>なので、($a + 0) が 1
>そうすると (1 + $a--) なので次の式評価で
>(1 + 1) で $a が 0 となります。
>最終的には ((1 + 0) + 1) なので 2 です。
>
>二番目の式は
>(($a + $a--) + 0) ---> ($a + $a--) と同じ
>なので、($a + $a--) が実行される前に $a-- が評価されて、$a が 0 になり 1
>を返すので、(0 + 1) となり
>最終的には ((0 + 1) + 0) なので 1 です。
_______________________________________________
PHP-users mailing list PHP-users@xxxxx
http://ml.php.gr.jp/mailman/listinfo/php-users
PHP初心者のためのページ - 質問する前にはこちらをお読みください
http://oldwww.php.gr.jp/php/novice.php3


投稿者 xml-rpc : 2010年8月25日 19:21
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/97959
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。