php遞迴,靜態變數,匿名函數使用

來源:互聯網
上載者:User
<!doctype html><html><head>    <meta charset="utf-8">    <title>Current To-Do List</title></head><body><?php    function make_list($parent) {        global $tasks;        echo '<ol>';        foreach($parent as $task_id => $todo) {            echo "<li>$todo";            if (isset($tasks[$task_id])) { // 如果當前id有子任務則遞迴建立菜單                make_list($tasks[$task_id]);            }            echo "</li>";        }        echo '</ol>';    }    $db = mysqli_connect('192.168.31.172' ,'root', 'root', 'phpadvanced');    mysqli_query($db, "set names utf8");    $q = 'SELECT task_id, parent_id, task FROM tasks WHERE date_completed="0000-00-00 00:00:00"     ORDER BY parent_id, date_added ASC';    $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 '<pre>'.print_r($tasks,1).'</pre>';make_list($tasks[0]); //把包含頂級任務的數組發送給它, 最頂級的parent_id是0?></body></html>

靜態變數統計次數代碼

<?php// create the array.// Array structs// StudentId = > ["name" => "Name", "grade" => xx.x];$students = [    256 => ['name' => 'Jon', 'grade' => '98.5'],    2 => ['name' => 'Vance', 'grade' => '85.1'],    9 => ['name' => 'Stephen', 'grade' => '94.0'],    364 => ['name' => 'Steve', 'grade' => '85.1'],    68 => ['name' => 'Rob', 'grade' => '74.6'],];function name_sort($x, $y) {    static $count = 1;    echo "<p>Iteration $count: {$x['name']} vs. {$y['name']} </p>\n";    $count ++;    return strcasecmp($x['name'], $y['name']);}function grade_sort($x, $y) {    static $count = 1;    echo "<p>Iteration $count: {$x['grade']} vs. {$y['grade']}</p>\n";    $count++;    return $x['grade'] < $y['grade'];}echo print_r($students, 1);uasort($students, 'name_sort'); //保持鍵並使用自訂排序echo print_r($students, 1);uasort($students, 'grade_sort');echo print_r($students, 1);?>

匿名函數--閉包代碼

<?php// create the array.// Array structs// StudentId = > ["name" => "Name", "grade" => xx.x];$students = [    256 => ['name' => 'Jon', 'grade' => '98.5'],    2 => ['name' => 'Vance', 'grade' => '85.1'],    9 => ['name' => 'Stephen', 'grade' => '94.0'],    364 => ['name' => 'Steve', 'grade' => '85.1'],    68 => ['name' => 'Rob', 'grade' => '74.6'],];echo print_r($students, 1);uasort($students, function($x, $y){    return strcasecmp($x['name'], $y['name']);}); //保持鍵並使用自訂排序echo print_r($students, 1);uasort($students, function($x, $y){    return $x['grade'] < $y['grade'];});echo print_r($students, 1);?>

引用傳參, 當資料是一個大資料的時候使用, 就不需要拷貝資料的副本了代碼

<?phpfunction increment(&$i) {    $i++;}$num = 2;increment($num);echo $num;?>

以上就是php遞迴,靜態變數,匿名函數使用的內容,更多相關內容請關注topic.alibabacloud.com(www.php.cn)!

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.