Как распечатать массив определенных констант?

Я думаю, что у меня есть простые вопросы, но я не могу найти то, что я ищу неправильно !!

У меня есть массив, где есть несколько строк:

$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)

1

Решение

Это должно работать для вас:

<?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>
3

Другие решения

Многочисленные проблемы с вашим кодом

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 ()) для захвата определенных констант, иначе вы получите неопределенное предупреждение.

2

Константы чувствительны к регистру, возможно, попробуйте сделать ваш массив прописными, вы можете использовать

strtoupper()

функция, чтобы извлечь выгоду

1

Спасибо всем за быстрые ответы, наконец, проблема была в том, что вы сказали, с учетом регистра.

Код теперь работает с небольшим изменением и это:

<?php
for($i=0;$i<count($tipus_clan);$i++){
echo '<option value="'.$i.'">'.constant(strtoupper($tipus_membre[$i])).'</option>';
}
?>
0
По вопросам рекламы [email protected]