2010年8月25日

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


関根と申します。

最初の式は
(($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 です。


(2010/08/25 18:43), Shindo wrote:
> 進藤です。よろしくお願いします。
>
> 我が社の若手が発見したのですが、以下の結果をどう考えたら良いのでしょうか。
>
> $ php -v
> PHP 5.1.6 (cli) (built: Apr 7 2009 08:00:18)
> Copyright (c) 1997-2006 The PHP Group
> Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies
>
> $ php -r '$a = 1; echo ($a + 0 + $a--) . "\n";'
> 2
>
> $ php -r '$a = 1; echo ($a + $a-- + 0) . "\n";'
> 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
>
_______________________________________________
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:13
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/97958
トラックバック
コメント
コメントする




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