Почему бы вам не уронить текст в значения и сохранить только числовые данные?Значения в любом случае не видны, но в вашем коде вы можете легко сопоставить числовые значения с текстом.Другими словами, вы можете иметь что-то вроде этого:
$choices = array(
'1' => array('value' => '100', 'text' => 'First choice'),
'2' => array('value' => '150', 'text' => 'Second choice'),
'3' => array('value' => '250', 'text' => 'Third choice'),
);
И отображать данные вот так (или любым другим способом, но с идентификаторами выбора в поле значения):
<form action="index.php" method="post">
<select name="dropdownOption">
<?php foreach($choices as $id => $choice): ?>
<option value="<?php echo $id ?>"><?php echo $choice['text']; ?></option>
<?php endforeach; ?>
</select>
</form>
И затем, имея начальный массив, вы можете легко суммировать все данные:
$sum = 0;
foreach($selected as $id){
$sum += $choices[$id]['value'];
}
И отображать данные для пользователя тоже:
<?php foreach($selected as $id): ?>
<p>You chose <?php echo $choices[$id]['text']; ?></p>
<?php endforeach; ?>
Это лучшеподход, поскольку он дает вам большую гибкость.