2015-05-06 23 views
0

我做错了什么?前两个显示可以,但第三个,耳鼻喉有问题。使用数组来减少代码,但它不会出现,因为它应该在HTML PHP?

<?php 
     $arr = Array('heart'=>'heart', 'eye'=>'eye', 'earnosethroat'=>'ear nose throat'); 

     foreach ($arr as $key=>$keys) 

       { 
       ?>     
      <div class="disease_li" id="disease_li_<?php echo $arr[$key];?>"> 
       <span class="disease_menu_d" id="<?php echo $arr[$key];?>_disease"><?php echo $arr[$keys];?></span> 
       <span class="disease_span" id="<?php echo $arr[$key];?>_1"><label>(<?php echo $arr[$keys];?>)</label>symptoms</span> 
       <span class="disease_span" id="<?php echo $arr[$key];?>_2"><label>(<?php echo $arr[$keys];?>)</label>diseases</span> 
      </div>   
    <?php 
}?> 

回答

2

您错误地使用了foreach和key/value业务。

foreach($arr as $key => $value) { 
         ^^^^^---choose a better than than "keys". 
    <span class="disease_menu_d" id="<?php $key;?>_disease"><?php $value;?></span> 
etc... 

注缺乏$arr[$key]$arr[$keys]内环路...

$arr[$keys]使得完全没有意义的。 $keys,由foreach()创建的是VALUE在您的数组中。它不是一个关键,虽然PHP会高兴地让你用它作为一个关键,但你只会得到“未定义索引”,或者如果这个关键碰巧真的存在,那么它就是一个完全错误的值。

+0

非常感谢!顺便说一下,前两个怎么显示OK! – conan

0

您不需要使用$ arr [$ key]和$ arr [$ keys]来访问数组键和值。事实上,$ key和$ keys已经包含了你的数组中的key和value信息

<span class="disease_menu_d" id="<?php echo $key;?>_disease"><?php echo $keys;?></span> 
相关问题