GET变量PHP isset我有一个<select>
领域,我想有基于选择适当<option>
的GET值 所以我使用了一个三元语句来输出selected
属性,像这样的内容:在三元操作
<select name="data" id="data">
<option value="1" <?php echo $_GET['data'] == '1' ? 'selected' : '' ; ?>>One</option>
<option value="2" <?php echo $_GET['data'] == '2' ? 'selected' : '' ; ?>>Two</option>
<option value="3" <?php echo $_GET['data'] == '3' ? 'selected' : '' ; ?>>Three</option>
</select>
的问题是,在当页面第一次加载没有$_GET
阵列所以我在选择框中得到一个PHP错误:
公告:未定义指数:数据...
所以我试着用isset
先检查,如果阵列如果值匹配检查之前设置:
<option value="1" <?php echo isset($_GET) && $_GET['data'] == '1' ? 'selected' : '' ; ?>>One</option>
这将返回相同的错误。
什么是最好的方式来简洁地处理这个错误,并实现我所追求的?
$ _GET总是设置!你需要用isset($ _ GET ['data'])检查参数 – Waygood
@Waygood你是对的。作为回答发布,我将接受。 – harryg
您接受的答案很好。仅用于第一次迭代,并导致重复。 – Jimbo