可以这样:<?php
$language=array(
  'a' => array('a1' => 'a',
                'a2' => 'aa',
                'a3' => 'aaa',
  ),
  'b' => array('b1' => 'b',
                'b2' => 'bb',
                'b3' => 'bbb',
  )
//...还有很多
);
echo "<ul>";
foreach($language as $key=>$value)
{
   foreach($language[$key] as $value)
   {
      echo "<li>".$value."<li>\n";
   }
}
echo "</ul>";
?>

解决方案 »

  1.   

    To 1楼 ,谁都知道用循环.
    To 2楼 ,这位大哥,我要的结果是这样的,改一下你原code$lan=array(
      'a' => array('a1' => 'a',
                    'a2' => 'aa',
                    'a3' => 'aaa',
      ),
      'b' => array('b1' => 'b',
                    'b2' => 'bb',
                    'b3' => 'bbb',
      )
    //...还有很多
    );echo "<ul>";
    foreach($lan as $key=>$value)
    {
    echo "<li>";
       foreach($lan[$key] as $value)
       {
          echo $value.', ';
       }
       echo " </li>";
    }
    echo "</ul>";/************
    结果输出是一个列表
    a ,aa ,aaa ,
    b ,bb ,bbb ,现在我想在空隔中任意加字符,随意改动成,大意如下
    第一个 a ,第二个 aa ,第三个 aaa
    第一个 b ,第二个 bb ,第三个 bbb
    ...有很多
    ************/我想用一个for循环像$lan[i][i]这样读取,
    可是php好像不能这样,如何是好呢?
      

  2.   


    这个问题用foreach也是可以的,如果用for循环也是可以的,凡是循环,for循环“几乎”全部做到,但因为楼主的索引是字母,所以比较难,其实这个很容易解决,只是要花时间,我以前写了个函数的。建议楼主还是用foreach,比较容易理解,代码不会很乱,我的代码:
    <?php
    $lan=array(
      'a' => array('a1' => 'a',
                    'a2' => 'aa',
                    'a3' => 'aaa'
      ),
      'b' => array('b1' => 'b',
                    'b2' => 'bb',
                    'b3' => 'bbb'
      )
    );
    $num=array(
       1 => "一",
       2 => "二",
       3 => "三",
       4 => "四",
       5 => "五",
       6 => "六",
       7 => "七",
       8 => "八",
       9 => "九"
       //更多
    );
    $string = NULL;
    echo "<ul>";
    foreach($lan as $key=>$value)
    {
       echo "<li>";
       $i=1;
       foreach($lan[$key] as $value)
       {
          $string .= "第".$num[$i]."个 ".$value." ,";
      $i++;
       }
       echo rtrim($string,",");;
       $string = NULL;
       $i=1;
       echo " </li>";
    }
    echo "</ul>";
    ?>个人测试了,绝对可以,结果:* 第一个 a ,第二个 aa ,第三个 aaa
    * 第一个 b ,第二个 bb ,第三个 bbb
    ·
      

  3.   

    先谢gingzai777这位兄台,其实我想要的结果是* 无规律字符串 a ,无规律字符串 aa ,无规律字符串 aaa
    * 无规律字符串 b ,无规律字符串 bb ,无规律字符串 bbb因为字符没规律.所以用不了循环,这样比较麻烦. 

    url=a,id=aa,name=aaa .
    url=b,id=bb,name=bbb .
      

  4.   


    你可以改变
    $num=array(
       1 => "一",
       2 => "二",
       3 => "三",
       4 => "四",
       5 => "五",
       6 => "六",
       7 => "七",
       8 => "八",
       9 => "九"
       //更多
    );这个数组,例如,把他的索引1到3改为:<?php
    $lan=array(
      'a' => array('a1' => 'a',
                    'a2' => 'aa',
                    'a3' => 'aaa'
      ),
      'b' => array('b1' => 'b',
                    'b2' => 'bb',
                    'b3' => 'bbb'
      )
    );
    $num=array(
       1 => "url",
       2 => "id",
       3 => "name"
    );
    $string = NULL;
    echo "<ul>";
    foreach($lan as $key=>$value)
    {
       echo "<li>";
       $i=1;
       foreach($lan[$key] as $value)
       {
          $string .= $num[$i].$value." ,";
          $i++;
       }
       echo rtrim($string,",");;
       $string = NULL;
       $i=1;
       echo " </li>";
    }
    echo "</ul>";
    ?>
      

  5.   

    如果<li>a ,aa ,aaa <li> 数组单元都是用,分割的话写出两重循环的人都把手册拿出来重新读
      

  6.   

    大家都很热心,特别谢gingzai777
    想问下,如果非得在分两个数组循环遍历,这样会不会慢点呢?如果把数据放进xml里,直接读它就不用数组做这么多循环了.
      

  7.   


    在CSDN上,多谢了,我不算热心的,还有更热心的呢!!放在XML?只要能实现,都可以的,效率可以自己测的。
      

  8.   

    正在看phpbb3的源码,给你个例子:
    // We now get the first number passed and will select the key based upon this number
    for ($i = 1, $num_args = sizeof($args); $i < $num_args; $i++)
    {
    if (is_int($args[$i]))
    {
    $numbers = array_keys($this->lang[$key]); foreach ($numbers as $num)
    {
    if ($num > $args[$i])
    {
    break;
    } $key_found = $num;
    }
    }
    }
      

  9.   


    // We now get the first number passed and will select the key based upon this number
    for ($i = 1, $num_args = sizeof($args); $i < $num_args; $i++)
    {
    if (is_int($args[$i]))
    {
    $numbers = array_keys($this->lang[$key]); foreach ($numbers as $num)
    {
    if ($num > $args[$i])
    {
    break;
    } $key_found = $num;
    }
    }
    }