&l ..."/> 현재 할 일 목록 &l ...">

 >  기사  >  백엔드 개발  >  PHP 재귀, 정적 변수, 익명 함수 사용

PHP 재귀, 정적 변수, 익명 함수 사용

巴扎黑
巴扎黑원래의
2016-11-10 14:04:351087검색

재귀적으로 읽기 작업 목록 코드

<!doctype html>  
<html lang="en">  
<head>  
    <meta charset="utf-8">  
    <title>Current To-Do List</title>  
</head>  
<body>  
<?php  
    function make_list($parent) {  
        global $tasks;  
        echo &#39;<ol>&#39;;  
  
        foreach($parent as $task_id => $todo) {  
            echo "<li>$todo";  
  
            if (isset($tasks[$task_id])) { // 如果当前id有子任务则递归创建菜单  
                make_list($tasks[$task_id]);  
            }  
  
            echo "</li>";  
        }  
  
        echo &#39;</ol>&#39;;  
    }  
  
    $db = mysqli_connect(&#39;192.168.31.172&#39; ,&#39;root&#39;, &#39;root&#39;, &#39;phpadvanced&#39;);  
    mysqli_query($db, "set names utf8");  
    $q = &#39;SELECT task_id, parent_id, task FROM tasks WHERE date_completed="0000-00-00 00:00:00" ORDER BY parent_id, date_added ASC&#39;;  
    $r = mysqli_query($db, $q);  
  
    $tasks = array();  
while (list($task_id, $parent_id, $task) = mysqli_fetch_array($r, MYSQLI_NUM)) {  
    $tasks[$parent_id][$task_id] = $task;  
}  
//echo &#39;<pre class="brush:php;toolbar:false">&#39;.print_r($tasks,1).&#39;
'; make_list($tasks[0]); //상위 작업을 포함하는 배열을 보냅니다. 상위 parent_id는 0입니다. ?>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.