【问题标题】:If inside echo in PHP如果在 PHP 中回显
【发布时间】:2014-07-21 16:06:13
【问题描述】:

这是我的 php 代码:

echo "<td><select name='Sucursal'  > 
<option value=''>Seleccione sucursal</option>
<option value='L1'>L1</option>  
<option value='L5'>L5</option>
<option value='L6'>L6</option>
<option value='PN'>PN</option>
<option value='MA'>MA</option>
</select></td>";

我在 php 中“回显”一个选择,但我想将此代码放在每个选项值中:

<option value="Male" <?php if($Gender == "Male") echo "selected"; ?>>Male</option>

我的问题是我不知道如何将它放在 echo 中,如果有人可以帮助我,我将不胜感激。

【问题讨论】:

  • 那么,不要输出为单个整体字符串。分别输出每个&lt;option&gt; 并将您的selected 代码放在那里。 NOT 尝试在该字符串中嵌入 7 个不同选择的逻辑。这将非常丑陋,并且在您只想用湿意大利面条折磨死您之后让谁必须维护此代码。

标签: php if-statement echo


【解决方案1】:

这是一种更简洁的方法。构建一个选项数组,循环遍历它们以输出 HTML,同时使用ternary operator 输出选定的属性。

<?php

// Setup the key/value pair using an array
$opts = array(
    'L1' => 'L1',
    'L2' => 'L2',
    'L3' => 'L3'
    // Syntax: 'Key' => 'Option Label'
);

echo '<select name="select">';

// Loop through the array and output each key/value pair as an <option>
// Compare $Gender variable to each key in the loop, and output selected if so
foreach ( $opts as $key => $label ){
    echo '<option value="' . $key . '"' . ( $Gender == $key ? ' selected="selected"' : '' ) . '>' . $label . '</option>';
}
echo '</select>';

【讨论】:

    【解决方案2】:

    Ternary operator 是您正在寻找的。

    echo "
    <td>
    <select name='Sucursal'  > 
      <option value=''>Seleccione sucursal</option>
      <option ".($Sucursal == 'L1' ? 'selected' : '')." value='L1'>L1</option>  
      <option ".($Sucursal == 'L5' ? 'selected' : '')." value='L5'>L5</option>
      <option ".($Sucursal == 'L6' ? 'selected' : '')." value='L6'>L6</option>
      <option ".($Sucursal == 'PN' ? 'selected' : '')." value='PN'>PN</option>
      <option ".($Sucursal == 'MA' ? 'selected' : '')." value='MA'>MA</option>
    </select>
    </td>";
    

    【讨论】:

    • 谢谢,这就是我要找的。​​span>
    【解决方案3】:

    您可以使用the concatenationthe ternary operator 来做您想做的事情。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-17
      • 1970-01-01
      • 2016-06-09
      相关资源
      最近更新 更多