[PHP-users 12732] Re: 3項演算子について

Youichi Iwakiri php-users@php.gr.jp
Wed, 22 Jan 2003 14:07:23 +0900


いわきりです
Nakagawa Yasuharu wrote in <20030122.115017.24213088.yasuharu.nakagawa@jp.yokogawa.com> :
>中川@東京武蔵野です
>評価の順番が左からなので、
>  /* 式1 */
>  $msg = (((((($a=='a') ? 'ええええ'    )  :$a=='b')
>		        ? 'びいびいびい')  :$a=='c')
>		        ? 'し〜〜〜〜〜')  :'どれでもない'
>  ;
>という風に解釈しているからだと思います。

一応、parse errorにならない文法で書くと
1段目
$msg = (($a=='a' ? 'ええええ' : $a=='b') ? 'びいびいびい' : $a=='c') ? 'し〜〜〜〜〜' :'どれでもない';
2段目            
$msg = ('ええええ' ? 'びいびいびい' : $a=='c') ? 'し〜〜〜〜〜' :'どれでもない';
3段目
$msg = 'びいびいびい' ? 'し〜〜〜〜〜' :'どれでもない';

'ええええ' も 'びいびいびい' も真です。

-- 
Youichi Iwakiri