Я думаю, что у меня есть простые вопросы, но я не могу найти то, что я ищу неправильно !!
У меня есть массив, где есть несколько строк:
$tipus_membre = array("lider","colider","vetera","membre");
и эти строки определены:
define("LIDER","Leader");
define("COLIDER","Co-leader");
define("VETERA","Elder");
define("MEMBRE","Member");
Я пытаюсь распечатать форму, но не могу ее получить. С этим первым вариантом я получаю только имя «лидер», «колидер» ….:
<select name="cla_tipus" required>
<?php
for($i=0;$i<count($tipus_clan);$i++){
echo '<option value="'.$i.'">'.$tipus_membre[$i].'</option>';
}
?>
</select>
и если я положу:
константа ($ tipus_clan [$ я]);
Я ничего не получаю.
(Отредактировал $ var)
Это должно работать для вас:
<?php
define("LIDER", "Leader");
define("COLIDER", "Co-leader");
define("VETERA", "Elder");
define("MEMBRE", "Member");
$tipus_membre = array(LIDER, COLIDER, VETERA, MEMBRE);
?>
<select name="cla_tipus" required>
<?php
foreach($tipus_membre as $k => $v)
echo "<option value='" . $v . "'>" . $tipus_membre[$k] . "</option>";
?>
</select>
Многочисленные проблемы с вашим кодом
for($i=0;$i<count($tipus_clan);$i++){
echo '<option value="'.$i.'">'.$tipus_clan[$i].'</option>';
}
Вы на самом деле определяете $ tipus_membre выше, а затем используете $ tipus_clan в цикле for … которого не существует. Измените выше, чтобы
for($i=0;$i<count($tipus_membre);$i++){
echo '<option value="'.$i.'">'.$tipus_membre[$i].'</option>';
}
Кроме того, constant () чувствителен к регистру; Вы захотите определить все в $ tipus_membre в верхнем регистре (или преобразовать их в верхний регистр при вызове constant ()) для захвата определенных констант, иначе вы получите неопределенное предупреждение.
Константы чувствительны к регистру, возможно, попробуйте сделать ваш массив прописными, вы можете использовать
strtoupper()
функция, чтобы извлечь выгоду
Спасибо всем за быстрые ответы, наконец, проблема была в том, что вы сказали, с учетом регистра.
Код теперь работает с небольшим изменением и это:
<?php
for($i=0;$i<count($tipus_clan);$i++){
echo '<option value="'.$i.'">'.constant(strtoupper($tipus_membre[$i])).'</option>';
}
?>