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