• php数组前端表现 array_chunk妙用


    php:

    <?php 
    $conn=mysql_connect("localhost","admin","1123581321");
    mysql_query("set names utf8");
    mysql_select_db("mytest");
    $result=mysql_query("SELECT * FROM `mm`");
    while ($arry=mysql_fetch_assoc($result )){
    	
    	$menu[]=$arry;
    	
    }
    echo "<pre>";
    print_r($menu);
    echo "</pre>";
    ?>
    
    Array
    (
        [0] => Array
            (
                [ID] => 1
                [name] => 前端
                [parent_ID] => 0
            )
    
        [1] => Array
            (
                [ID] => 2
                [name] => php
                [parent_ID] => 0
            )
    
        [2] => Array
            (
                [ID] => 3
                [name] => javascript
                [parent_ID] => 1
            )
    
    )
    

     遇到这种情况,一般在前端的表现是循环<ul>内部使用<li>浮动实现,但假如我要实现[parent_ID]处换行呢,有的会使用限制收缩父级元素限制li元素宽度一点一点的调整,或者clear等等,虽然效果没有问题,但是在标签结构和以后的灵活性上都会有很大的影响。

    最好的方法当然是table,有人说table的css控制上有影响,一派胡言。关键是将二维数组转变为三维

    <?php 
    foreach ($menu as $d){
    	$f[]=array_chunk($d, 2);
    }
    ?>
    

     结果

    Array
    (
        [0] => Array
            (
                [0] => Array
                    (
                        [0] => 1
                        [1] => 前端
                    )
    
                [1] => Array
                    (
                        [0] => 0
                    )
    
            )
    
        [1] => Array
            (
                [0] => Array
                    (
                        [0] => 2
                        [1] => php
                    )
    
                [1] => Array
                    (
                        [0] => 0
                    )
    
            )
    
        [2] => Array
            (
                [0] => Array
                    (
                        [0] => 3
                        [1] => javascript
                    )
    
                [1] => Array
                    (
                        [0] => 1
                    )
    
            )
    
    )
    

     这样的话用table就完全没有问题了。、

    <?php foreach ($f as $d){?>
    <table>
    <?php foreach ($d as $tr){?>
    <tr>
    <?php foreach ($tr as $td){?>
    <td><?php echo $td?></td>
    <?php }?>
    </tr>
    <?php }?>
    </table>
    <?php }?>
    

     最后想说即使是CSS3,HTML5都普及了<table>也是必不可少的。

  • 相关阅读:
    单例模式
    二、CSS
    十一、多线程
    十二、协程
    十、多进程
    九、内存管理
    八、元类
    七、上下文管理器/魔术方法
    六、单例模式
    五、装饰器
  • 原文地址:https://www.cnblogs.com/breakdown/p/2459344.html
Copyright © 2020-2023  润新知