可以这样:<?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>";
?>
解决方案 »
- 谁熟悉PHP XML DOMDocument 过来帮帮忙
- MYSQL数据库连接问题。
- <input type = "checkbox" value ="v" /> value = 后面的值可不可以用变量代替呢?
- 用户未登录网站之前不能使用一些连接??
- 急!!PHP中怎么样判断checkbox是否被选中?
- 超级新手求PHP最简单问题
- 如果一个IP的前三位相同,能说明该IP是同一个电脑的吗?
- 用浏览器打印票据的问题。非常急!马上就得用~解决后立刻给分。今天晚上有效。
- 帮忙看看错误代码--
- 用mysqldump实用工具倒出的"*.sql"文件,如何倒入
- 如何用 PHP 对文本文件进行筛选式修改?具体内容见文章,谢谢!
- mysql写入数据库三个字段都不能重复?[100分来者有分]
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好像不能这样,如何是好呢?
这个问题用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
·
* 无规律字符串 b ,无规律字符串 bb ,无规律字符串 bbb因为字符没规律.所以用不了循环,这样比较麻烦.
如
url=a,id=aa,name=aaa .
url=b,id=bb,name=bbb .
你可以改变
$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>";
?>
想问下,如果非得在分两个数组循环遍历,这样会不会慢点呢?如果把数据放进xml里,直接读它就不用数组做这么多循环了.
在CSDN上,多谢了,我不算热心的,还有更热心的呢!!放在XML?只要能实现,都可以的,效率可以自己测的。
// 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;
}
}
}
// 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;
}
}
}