Значение параметра Php

У меня есть список областей (1000+), и мне было интересно, есть ли способ сделать это проще с кодом, а не повторять каждое значение.

<select> <option value="apple" <?php if ($user_data["$area"] == apple){echo 'selected';} ?>>Apple </option> <option value="lemon" <?php if ($user_data["$area"] == lemon){echo 'selected';} ?>>Lemon </option> <option value="orange" <?php if ($user_data["$area"] == orange){echo 'selected';} ?>>Orange </option> <option value="banana" <?php if ($user_data["$area"] == banana){echo 'selected';} ?>>Banana </option> </select> 

IE имеет один и тот же фрагмент кода php для каждого параметра, вместо того, чтобы каждый раз вводить имя значения

 <?php if ($user_data["$area"] == option VALUE){echo 'selected';} ?> 

Не могли бы вы предоставить какой-то код или идеи для того, что посмотреть в учебниках, я понятия не имею, как начать. Спасибо!

    Используйте массив:

     $areas = array( 'apple' => 'Apple', 'lemon' => 'Lemon', 'orange' => 'Orange', 'banana' => 'Banana' ); 

    Затем используйте этот массив для печати выбора:

     <select> <?php foreach ($areas as $value => $text): ?> <option value="<?php echo $value; ?>" <?php if ($user_data[$area] == $value) {echo 'selected';} ?>><?php echo $text; ?> </option> <?php endforeach; ?> </select> 

    Я использую ассоциативный массив, потому что я предполагаю, что вы хотите иметь возможность настраивать текстовую метку области и что они будут не только capitaized версией значения, используемого для соответствия пользовательским данным.

     //pseudo $arr = array("apple", "lemon", "orange", ...); foreach($arr as $value) { echo '<option value="'.$value; if($user_data[$area] === $value) { echo 'selected'; } //echo {the end of your option field syntax} } 

    Все решения выглядят хорошо … Вот еще один способ:

     <select> <?php $areas = array('apple', 'lemon', 'orange', 'banana'); $areas_count = count($areas); for ($i = 0; $i < $areas_count; $i++) { echo '<option value="' . $areas[$i] . '"'; echo ($user_data[$area] == $areas[$i]) ? ' selected' : ''; echo '>' . ucwords($areas[$i]) . '</option>'; } ?> </select> 
     foreach ($areas as $key => $val) { $select.= '<option '; // opening the option tag foreach ($selected_from_db as $keyselected => $valselected) { $val_fetch_from_array = $valselected == $val['campaignid'] ? 'selected' : ''; $select.= $val_fetch_from_array; // codes for selecting multiple values } $select.= ' value = "' . $val['campaignid'] . '">#' . $val['campaignid'] . '-' . $val['campaignname'] . '</option>'; // closing the option tag }