有没有更有效的方法来运行我的PHP IF ... ELSEIF语句?

spa*_*cle 1 php if-statement

这是我刚刚添加到购物车中的一个片段,它基本上呈现了一个选择框,其中包含4个数量选项并刷新页面.最初,有一个简单的输入框,用户可以使用它来操作数量,但是一小群用户在进入Checkout之前并没有真正点击"更新购物车",所以我决定更积极主动.除了UX实践和AJAX方法之外,我很好奇是否需要在PHP中使用这些选项的冗余.我怎么能让它更有效率?

<select name="quantity" onchange="return updateCart();">
<?php if($this->getQty() == 1) : ?>
    <option value="1" selected="selected">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
<?php elseif($this->getQty() == 2) : ?>
    <option value="1">1</option>
    <option value="2" selected="selected">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
<?php elseif($this->getQty() == 3) : ?>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3" selected="selected">3</option>
    <option value="4">4</option>
<?php elseif($this->getQty() == 4) : ?>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4" selected="selected">4</option>
<?php else : ?>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
<?php endif; ?>
 </select>
Run Code Online (Sandbox Code Playgroud)

CMP*_*MPS 6

$quantity = $this->getQty();
for($i=1; $i<=4; $i++){
  if($quantity == $i)
     echo '<option value="'.$i.'" selected="selected">'.$i.'</option>';
  else
     echo '<option value="'.$i.'">'.$i.'</option>';
}
Run Code Online (Sandbox Code Playgroud)