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> 不产生换行符的主要内容,如果未能解决你的问题,请参考以下文章

php浮点数比较不相等的问题

第四篇 - 数据类型

002-var_dump用法

php基础03:数据类型

php基础---变量语句

翻身的废鱼——论PHP从入门到放弃需要多久?4