$options1 = array( 1=>'= Equals', '≠ Does not Equal', '> Is greater than', '≥ Is greater than or equal to', '< Is less than', '≤ Is less than or equal', '∋ Contains', '∌ Does not contain');
<select name="entry_id_selector[]">';
foreach ( $options1 as $i1=>$opt1 ) :
echo '<option value="' .$i1 .'"'
.($i1 == $entry_id_selector_topic) .'? "selected" : "">'
.$opt1 .'</option>';
endforeach;
echo '</select>';
$entry_id_selector_topic = $_POST['entry_id_selector'];
コードのこの部分の何が問題になっていますか.($i1 == $entry_id_selector_topic) .'? "selected" : ""
デフォルト値は= Equals
たとえば、ユーザーが選択> Is greater than
して [投稿] ボタンをクリックすると、ページがリロードされます。ドロップダウンメニューが選択され、表示された値> Is greater than
がデフォルト値であることを期待しています。
これに変更されました.($i1 == $entry_id_selector_topic) .'? selected="selected" : "">'
常に配列から選択された最後のアイテムを取得します∌ Does not contain
アップデート。最後に解決策を取得します。$entry_id_selector_topic[0]
最初は、なぜが の最初のアイテムを常に表示しないのか理解できませんでした$options1
。
しかし、ドロップダウン メニューから値を選択して [送信] ボタンをクリックすると、ドロップダウン メニューから選択$entry_id_selector_topic = $_POST['entry_id_selector'];
した値だけが存在します。その$entry_id_selector_topic
ため、項目 [0] のみを持つ新しい配列があります。
これで問題が明確になったようです。