我认为我有一个简单的问题,但我无法找到我看错了!
我有一个数组,其中有一些字符串:
$tipus_membre = array("lider","colider","vetera","membre");
并且定义了这个字符串:
define("LIDER","Leader");
define("COLIDER","Co-leader");
define("VETERA","Elder");
define("MEMBRE","Member");
我正在尝试以某种形式打印,但我无法得到它。有了这个第一个选项,我只得到名字“lider”,“colider”......:
<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 [$ I]);
我一无所获。
(编辑$ var)
答案 0 :(得分:3)
这应该适合你:
<?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>
答案 1 :(得分:2)
您的代码存在多个问题
for($i=0;$i<count($tipus_clan);$i++){
echo '<option value="'.$i.'">'.$tipus_clan[$i].'</option>';
}
你实际上在上面定义$ tipus_membre,然后你在for循环中使用$ tipus_clan ......这是不存在的。将上述内容更改为
for($i=0;$i<count($tipus_membre);$i++){
echo '<option value="'.$i.'">'.$tipus_membre[$i].'</option>';
}
此外,constant()区分大小写;你需要以大写形式定义$ tipus_membre中的所有内容(或者在调用constant()时将它们转换为大写)以获取要定义的常量,否则你将得到一个未定义的警告。
答案 2 :(得分:1)
常量区分大小写,也许尝试使您的数组全部为大写,您可以使用
strtoupper()
功能大写
答案 3 :(得分:0)
感谢大家的快速回答,最后问题出在你所说的地方,区分大小写。
现在代码只需稍加改动就可以了:
<?php
for($i=0;$i<count($tipus_clan);$i++){
echo '<option value="'.$i.'">'.constant(strtoupper($tipus_membre[$i])).'</option>';
}
?>