使用PHP编写if语句的更好方法是什么
我有一个下拉选项,如果某个值等于搜索变量,我需要回显所选的使用PHP编写if语句的更好方法是什么,php,Php,我有一个下拉选项,如果某个值等于搜索变量,我需要回显所选的 现在我正在使用PHP if语句来决定这一点,但我想通过使用一种不占用代码中太多行的方法来稍微清理一下 下面是我的php if语句的一个示例: <option value="antiques" <?php if($_POST['category'] == 'antiques'){echo 'selected';}?>>Antiques</option> 一种简单的方法是使用PHP三元运算符(此处提供更
现在我正在使用PHP if语句来决定这一点,但我想通过使用一种不占用代码中太多行的方法来稍微清理一下
下面是我的php if语句的一个示例:
<option value="antiques" <?php if($_POST['category'] == 'antiques'){echo 'selected';}?>>Antiques</option>
一种简单的方法是使用PHP三元运算符(此处提供更多信息:[向下滚动到有关浮动的大警告下方])
创建一个函数,并根据需要多次使用它:
function abc($postData, $thisData) { if($postData == $thisData) { echo ' selected';} }
<?php abc($_POST['category'], 'antiques'); ?>
现在,请执行以下操作:
<option value="antiques" <?php abc($_POST['category'], 'antiques'); ?> >Antiques</option>
我喜欢在代码的一个区域中完成所有逻辑处理
一种干净的方法是创建一个包含所有类别的数组。然后填写与所选类别匹配的表格。在每个菜单选项中,打印出与选项名称匹配的数组键的内容
<?php
$selected=array(
'antiques'=>'',
'horses'=>'',
'umbrellas'=>''
);
$selected[$_POST['category']]='selected';
?>
<option value="antiques" <?php echo $selected['antiques'];?>>Antiques</option>
更好的方法?在html中,不。更短的方式,可能是。快速思考:您可以将所有选项添加到一个数组中,然后在其中循环。然后,您在代码中只得到了您提到的一行(如果所有选项都属于同一个
。使用模板引擎怎么样?现在就尝试一下,谢谢@Justin TurnerThanks!这非常有效!您还可以使用类别数组将其打印到您的菜单中,因为示例中的单词antiques重复了三次。
<option value="antiques" <?php abc($_POST['category'], 'antiques'); ?> >Antiques</option>
function abc($postData, $thisData) {
echo '<option value="'.$thisData.'">'.($_POST['category'] == 'antiques')?' selected':''.$thisData.'</option>';
}
<?php abc($_POST['category'], 'antiques'); ?>
<?php
$selected=array(
'antiques'=>'',
'horses'=>'',
'umbrellas'=>''
);
$selected[$_POST['category']]='selected';
?>
<option value="antiques" <?php echo $selected['antiques'];?>>Antiques</option>