php heredoc原文档和nowdoc语法

巴扎黑
Libérer: 2016-11-10 13:59:08
original
1125 Les gens l'ont consulté

Heredoc原文档和nowdoc语法使用场景代码  

<!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;
Copier après la connexion
'; // 这是原文档, heredoc格式 echo <<点击检查框, 标记为完成. (任务本身已经所有的子任务都将不会出现在这个列表)

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


Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal