21,891
社区成员
发帖
与我相关
我的任务
分享
$arr1=array(array('AAA','bbb',1),
array('AAA','ccc',0),
array('AAA','ddd',0),
array('BBB','aaa','111'),
array('BBB','aaa','222'));
//*将上边数组封装成,如果值为0的话,丢弃
AAA
bbb
1
ccc
ddd
BBB
aaa
111
aaa
222
*/
<ul>
<li>AAA
<ul><li>bbb
<ul><li>1</li></ul></li>
<li>ccc</li>
<li>ddd</li></ul></li>
......
</ul>
$arr1=array(array('AAA','bbb',1),
array('AAA','ccc',0),
array('AAA','ddd',0),
array('BBB','aaa','111'),
array('BBB','aaa','222'));
function arr_rowtocol($arr)//定义函数对二维数组进行行列转换
{
$newarr=array();
foreach($arr as $temp)
{
if(!($newarr[$temp[0]][$temp[1]]))
$newarr[$temp[0]][$temp[1]]=array();
array_push($newarr[$temp[0]][$temp[1]],$temp[2]);
}
return $newarr;
}
$newarr=arr_rowtocol($arr1);//调用数组行列转换函数
echo "<ul>";
foreach($newarr as $key=>$value)
{
echo "<li>$key \n<ul>";
foreach($value as $key1=>$value1)
{
echo "<li>$key1 \n<ul>";
foreach($value1 as $li)
{
if($li!=0)
echo "<li>$li </li>";
}
echo "</ul></li>";
}
echo "</ul></li>";
}
echo "</ul>";