Home > Backend Development > PHP Tutorial > php heredoc original document and nowdoc syntax

php heredoc original document and nowdoc syntax

WBOY
Release: 2016-08-08 09:20:42
Original
1287 people have browsed it

<!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 '<ol>';

        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 '</ol>';
    }

    $db = mysqli_connect('192.168.31.172' ,'root', 'root', 'phpadvanced');
    mysqli_query($db, "set names utf8");

    if (($_SERVER['REQUEST_METHOD'] == 'POST') && isset($_POST['tasks']) && is_array($_POST['tasks']) && !empty($_POST['tasks'])) {

        $q = 'UPDATE tasks SET date_completed=NOW() WHERE task_id IN (';
        foreach($_POST['tasks'] as $task_id => $v) {
            $q .= $task_id.', ';
        }
        $q = substr($q, 0, -2) . ')';

        $r = mysqli_query($db, $q);

        if(mysqli_affected_rows($db) == count($_POST['tasks'])) {
            echo '<p>选择的任务已经标记完成</p>';
        } else {
            echo '<p>选择的任务不能被标记为完成</p>';
        }
    }

    $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 class="brush:php;toolbar:false">'.print_r($tasks,1).'
'; // 这是原文档, heredoc格式 echo <<点击检查框, 标记为完成. (任务本身已经所有的子任务都将不会出现在这个列表)

EOT; make_list($tasks[0]); //把包含顶级任务的数组发送给它, 最顶级的parent_id是0 //这是5.3新增的nowdoc语法, 相对于原文档就和单引号对于双引号一样, nowdoc不会解析变量 echo <<<'EOT'
EOT; ?>
Copy after login

The above introduces the original php heredoc document and nowdoc syntax, including the relevant content. I hope it will be helpful to friends who are interested in PHP tutorials.

Related labels:
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