php heredoc original document and nowdoc syntax

巴扎黑
Release: 2016-11-10 13:59:08
Original
1078 people have browsed it

Heredoc original document and nowdoc syntax usage scenario code

<!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 <<<EOT  
<li><input type="checkbox" name="tasks[$task_id]" value="done"> $todo  
EOT;  
  
            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");  
  
    if (($_SERVER[&#39;REQUEST_METHOD&#39;] == &#39;POST&#39;) && isset($_POST[&#39;tasks&#39;]) && is_array($_POST[&#39;tasks&#39;]) && !empty($_POST[&#39;tasks&#39;])) {  
  
        $q = &#39;UPDATE tasks SET date_completed=NOW() WHERE task_id IN (&#39;;  
        foreach($_POST[&#39;tasks&#39;] as $task_id => $v) {  
            $q .= $task_id.&#39;, &#39;;  
        }  
        $q = substr($q, 0, -2) . &#39;)&#39;;  
  
        $r = mysqli_query($db, $q);  
  
        if(mysqli_affected_rows($db) == count($_POST[&#39;tasks&#39;])) {  
            echo &#39;<p>选择的任务已经标记完成</p>&#39;;  
        } else {  
            echo &#39;<p>选择的任务不能被标记为完成</p>&#39;;  
        }  
    }  
  
    $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;
Copy after login
'; ​ // This is the original document, heredoc format echo <<Click the checkbox and mark it as complete. (The task itself and all subtasks will not appear in this list)

EOT; make_list($tasks[0]); //Send it the array containing the top tasks, the top parent_id is 0 //This is the new nowdoc syntax in 5.3. Compared to the original document, it is the same as single quotes to double quotes. Nowdoc will not parse variables. echo <<<'EOT'
EOT; ​ ?>


Related labels:
php
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!