for($j = 0; $j < $rows; ++$j)
{
$result->data_seek($j);
$row = $result->fetch_array(MYSQLI_NUM);
echo <<<_END
<pre>
Author: $row[0]
Title: $row[1]
Type: $row[2]
Year: $row[3]
ISBN: $row[4]
</pre>
_END;
}
在使用
echo
进行文本块处理时遇到了两件事,在提出解释时有些困惑。echo
块的任何缩进都将导致网页崩溃。如果我将
fetch_array
类型更改为MYSQLI_ASSOC
或MYSQLI_BOTH
,则诸如$row['author']
的关联调用会导致页面崩溃。访问echo
时使用单行调用$row
可以正常工作。 最佳答案
PHP heredoc的结束标识符不应缩进。这是手册中的警告段落。
警告请务必注意,带有结束标识符的行除分号(;)外,不得包含其他任何字符。特别是这意味着标识符可能不会缩进,并且在分号之前或之后可能没有空格或制表符。同样重要的是要认识到,结束标识符之前的第一个字符必须是本地操作系统定义的换行符。
在Heredoc内部,数组键要么不带引号,要么不带引号。
$array[key] // works (the only place you do not quote string keys in PHP)
${array["key"]} // works
$array["key"] // doesn't work
关于php - PHP回显块行为,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32314291/