• 技术文章 >后端开发 >php教程

    请问版主xuzuning

    2016-06-13 12:56:15原创359
    请教版主xuzuning

    $ar = array (
    array("level" => '1', "caption" => "一级菜单1"),
    array("level" => '1', "caption" => "一级菜单2"),
    array("level" => '2', "caption" => "二级菜单1"),
    array("level" => '2', "caption" => "二级菜单2"),
    array("level" => '3', "caption" => "三级菜单1"),
    array("level" => '1', "caption" => "一级菜单3"),
    );
    print_r( foo($ar));

    function foo(&$ar, $level='1') {
    $res = array();
    while($r = current($ar)) {
    if($r['level'] > $level) $res[count($res)-1]['sub'] = foo($ar, $r['level']);
    elseif($r['level'] == $level) $res[] = $r;
    else {
    array_unshift($ar, $r);
    break;
    }
    array_shift($ar);
    }
    return $res;
    }


    在上面的代码中while($r = current($ar)) 是如何为true的,有点搞不明白


    ------解决方案--------------------
    current($ar) 是取数组 $ar 的当前元素

    只要不为空,就表示取到了。取到了当然就是 true 了

    php入门到就业线上直播课:查看学习

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:nbsp level array caption gt
    上一篇: 刚写的一个文件下传类。欢迎评点 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• 一起聊聊PHP session共享的四种解决方案• PHP底层的运行机制与原理_PHP教程• 说一说PHP程序开发中的模板选择_PHP• 程序修改有关问题• js表单提交解决方法
    1/1

    PHP中文网