这个转换数组一个HTML列表 [英] Convert this array to an HTML List

查看:76
本文介绍了这个转换数组一个HTML列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这样的数组:

 阵列
  0 =>字符串'-3,6'(长度= 3)
  3 =>字符串'4,5'(长度= 3)
  4 =>字符串'7,8'(长度= 3)
  8 =>字符串'9'(长度= 1)

 阵列
  3 =>
    排列
      4 =>
        排列
          7 =>空值
          8 =>
            排列
              9 =>空值
      5 =>空值
  6 =>空值

每个是id和是这位家长的孩子的标识。结果
0 ID表示(3和6)没有父结果。
现在,我要输出HTML列表如下:


  

      
  • 3
      

        
    • 4
        

          
      • 7

      •   
      • 8
          

            
        • 9

        •   

      •   

    •   
    • 5

    •   

  •   
  • 6

  •   


解决方案

  $ ARR =阵列(
  0 => '3,6',
  3 => '4,5',
  4 => '7,8',
  8 => 9,
);
功能写列表($项目){
    全球$ ARR;
    呼应'< UL>';    $项目=爆炸('',$项目);
    的foreach($项目为$项目){
        呼应'<立GT;'$项目。
        如果(使用isset($改编[$项目))
            写列表($改编[$项目]);
        呼应'< /李>';
    }    呼应'< / UL>';
}
写列表($改编[0]);

进行测试。

  $ ARR =阵列(
    3 =>阵列(
        4 =>阵列(
            7 =>空值,
            8 =>阵列(
                9 =>空值
            )
        )
        5 =>空值,
    )
    6 =>空值,
);
功能写列表($项目){
    如果($项目===空)
        返回;
    呼应'< UL>';
    的foreach($项目为$项目=> $子女){
        呼应'<立GT;'$项目。
        写列表($子女);
        呼应'< /李>';
    }
    呼应'< / UL>';
}
写列表($ ARR);

I have this array:

array
  0 => string '3,6' (length=3)
  3 => string '4,5' (length=3)
  4 => string '7,8' (length=3)
  8 => string '9' (length=1)

OR

array
  3 => 
    array
      4 => 
        array
          7 => null
          8 => 
            array
              9 => null
      5 => null
  6 => null

Every key is the id and value is the id for the childs of this parent.
ID of 0 means that (3 & 6) have no parent.
Now, i want to output an HTML list like:

  • 3
    • 4
      • 7
      • 8
        • 9
    • 5
  • 6

解决方案

$arr = array(
  0 => '3,6',
  3 => '4,5',
  4 => '7,8',
  8 => '9',
);
function writeList($items){
    global $arr;
    echo '<ul>';

    $items = explode(',', $items);
    foreach($items as $item){
        echo '<li>'.$item;
        if(isset($arr[$item]))
            writeList($arr[$item]);
        echo '</li>';
    }

    echo '</ul>';
}
writeList($arr[0]);

Test it.

or

$arr = array(
    3 => array(
        4 => array(
            7 => null,
            8 => array(
                9 => null
            ),
        ),
        5 => null,
    ),
    6 => null,
);
function writeList($items){
    if($items === null)
        return;
    echo '<ul>';
    foreach($items as $item => $children){
        echo '<li>'.$item;
        writeList($children);
        echo '</li>';
    }
    echo '</ul>';
}
writeList($arr);

这篇关于这个转换数组一个HTML列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆