如何更有效地重写这个PHP

时间:2011-09-28 22:56:36

标签: php if-statement

我需要显示手动/自动变速器车辆信息,我能想到的最好的是以下代码。我认为这是错误和低效的,但我无法完全理解它。

<?php
if ($obj->AutoTrans == 'S'):
  echo "Automatic";
  if ($obj->ManualTrans == 'O'):
    echo " (Manual Optional)";
  endif;                   
elseif($obj->ManualTrans == 'S'):
  echo "Manual";
  if ($obj->AutoTrans == 'O'):
    echo " (Automatic Optional)";
  endif;     
endif;                  
?>

2 个答案:

答案 0 :(得分:1)

这种方法效率不高。不过,你可以通过使用花括号而不是使用块语法来编写它更清晰(在我看来)。

答案 1 :(得分:1)

if ($obj->AutoTrans == 'S')
    echo "Automatic".($this->ManualTrans=='O'?' (Manual Optional)':'');

if ($obj->ManualTrans == 'S')
    echo "Manual".($this->AutoTrans=='O'?' (Automatic Optional)':'');