var_dump 之前的 php <br> 不产生换行符
Posted
技术标签:
【中文标题】var_dump 之前的 php <br> 不产生换行符【英文标题】:php <br> before var_dump not producing line break 【发布时间】:2022-01-01 01:31:52 【问题描述】:我已经编写了如下的 php 脚本,但是在 var_dump 函数之前使用的换行符在给出 bool(true) 之前没有产生换行符。请帮我找出我做错了什么。
<?php
class Fruit
$apple = new Fruit();
echo "<br>" . var_dump($apple instanceof Fruit) . "<br>";
?>
输出:
bool(true)
bool(true) 之前没有换行
【问题讨论】:
var_dump
立即转储到屏幕,它不会附加到回声。改为将其分解为 3 个完整的语句。
var_dump
没有return 值,但您正尝试将其返回值连接 成一个字符串。发生的情况是 var_dump 首先写入输出缓冲区,然后才将您的字符串值回显到输出缓冲区。
试试var_export($apple instanceof Fruit, true)
。
【参考方案1】:
与其使用 作为输出并将其拆分为 3 个完整的语句(如评论中所建议的那样),不如使用
。class Fruit public $prop = 1; $apple = new Fruit(); echo "<pre>"; var_dump($apple instanceof Fruit,$apple); echo "</pre>";
输出:
bool(true) object(Fruit)#2 (1) ["prop"]=> int(1)
处理 var_dump 输出中包含的换行符。
【讨论】:
【参考方案2】:你可以试试
echo "<pre>"; echo var_dump($apple); echo "</pre>";
从技术上讲,@aynber 和 @CBroe 是对的。
【讨论】:
以上是关于var_dump 之前的 php <br> 不产生换行符的主要内容,如果未能解决你的问题,请参考以下文章