【发布时间】:2012-10-20 00:02:32
【问题描述】:
来自 C# 我必须用 PHP 做一个项目。
我正在使用此代码:
$transport = 'T';
$vehicle = (
( $transport == 'B' ) ? 'bus' :
( $transport == 'A' ) ? 'airplane' :
( $transport == 'T' ) ? 'train' :
( $transport == 'C' ) ? 'car' :
( $transport == 'H' ) ? 'horse' :
'feet' );
echo $vehicle;
我希望它打印train,但我得到horse。键盘示例:http://codepad.org/rWllfrht
谁能解释这种奇怪的行为?
【问题讨论】:
-
不要使用该代码。这是对三元运算符的可怕、不可原谅的滥用。如果我在生产中发现该代码,我会立即将其删除并与作者进行非常严厉的言辞。使用
switch语句。 -
这段代码几乎一字不差地取自维基百科页面en.wikipedia.org/wiki/%3F:#PHP,它解释了发生了什么。我打电话给巨魔:p
-
最丑陋,最难以理解的三元用法我不高兴看到。它依赖于我不想调试的奇怪的关联级联。正如其他人所说,使用开关。
-
噢噢!看看所有漂亮的反对票!维基用户一定很生气,因为没有给出归属:P
-
从我读到的 wiki 中,这是一个公认的错误。我仍然没有 100% 明白。这是一个多么好的网站。有效问题,3 次反对票,21 次咆哮不要使用那个,没有解释。欢迎使用 Stackoverflow!
标签: php