V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
hyd8323268
V2EX  ›  程序员

请教一个小问题,浏览器打印 PHP 数组时怎么自动换行

  •  
  •   hyd8323268 · Jun 22, 2019 · 6020 views
    This topic created in 2503 days ago, the information mentioned may be changed or developed.

    看到别的人的用 print 或者 vardump 打印的时候都是自动换行的,我的都是一行,每次都得 F12 才能方便看

    54 replies    2019-06-24 09:44:37 +08:00
    xnode
        1
    xnode  
       Jun 22, 2019
    ."\n";
    hyd8323268
        2
    hyd8323268  
    OP
       Jun 22, 2019
    @xnode 不是 是数组,打印出来以后都在一行,我是想问这么弄成自动规整过的
    KomeijiSatori
        3
    KomeijiSatori  
       Jun 22, 2019
    view-source: 啊

    浏览器默认是不渲染 \r\n 的
    hyd8323268
        4
    hyd8323268  
    OP
       Jun 22, 2019
    @KomeijiSatori 什么意思....
    des
        5
    des  
       Jun 22, 2019
    <pre><? var_dump($aa); ></pre>
    hyd8323268
        6
    hyd8323268  
    OP
       Jun 22, 2019
    @des 不是,不需要在代码里面修改
    x86
        7
    x86  
       Jun 22, 2019
    别人开了 xdebug 的拓展
    hyd8323268
        8
    hyd8323268  
    OP
       Jun 22, 2019
    @x86 我也开了 xdebug 了 还是没有
    x86
        9
    x86  
       Jun 22, 2019
    @hyd8323268 #8
    看下 php.ini 里的 html_errors 开启了没
    x86
        10
    x86  
       Jun 22, 2019
    另外说下你什么环境?
    如果是 PHPStudy 的话软件中开启 debug 是错误的,要手动在配置文件里把 xdebug 路径修正
    garlics
        11
    garlics  
       Jun 22, 2019 via Android
    截图看看?
    EscYezi
        12
    EscYezi  
       Jun 22, 2019 via iPad   ❤️ 1
    print_r
    datou
        13
    datou  
       Jun 22, 2019   ❤️ 1
    <br />
    hongdaworks
        14
    hongdaworks  
       Jun 22, 2019
    使用预定义格式<pre>标签包数组打印代码
    iyaozhen
        15
    iyaozhen  
       Jun 22, 2019 via Android
    你能不能来个图?
    piaomiao0315
        16
    piaomiao0315  
       Jun 22, 2019
    echo "<pre>";
    wxyoung
        17
    wxyoung  
       Jun 22, 2019
    右键 -> 查看源代码
    hyd8323268
        18
    hyd8323268  
    OP
       Jun 22, 2019
    @wxyoung 不是我想要的效果
    wentaoliang
        19
    wentaoliang  
       Jun 22, 2019 via iPhone
    查看源代码...就可以了
    hyd8323268
        20
    hyd8323268  
    OP
       Jun 22, 2019
    @x86 是 phpstudy
    misaka19000
        21
    misaka19000  
       Jun 22, 2019 via Android
    哈哈,PHP 果然是世界上最好语言
    hyd8323268
        22
    hyd8323268  
    OP
       Jun 22, 2019
    @iyaozhen 大哥你教我怎么能上传图 : )
    hyd8323268
        23
    hyd8323268  
    OP
       Jun 22, 2019
    @wentaoliang 我就是为了省这一步
    x86
        24
    x86  
       Jun 22, 2019   ❤️ 1
    @hyd8323268 #20
    PHPstudy 的话找 php.ini 文件,拉倒最下面把 xdebug 的路径改正确,作者预留的是他的路径
    hyd8323268
        25
    hyd8323268  
    OP
       Jun 22, 2019
    @x86 我现在的内容如下:

    [XDebug]
    xdebug.profiler_output_dir="D:\work_tool\phpstudy\PHPTutorial\tmp\xdebug"
    xdebug.trace_output_dir="D:\work_tool\phpstudy\PHPTutorial\tmp\xdebug"
    zend_extension="D:\work_tool\phpstudy\PHPTutorial\php\php-5.6.27-nts\ext\php_xdebug.dll"

    这个 zend_extension 是我修改过的,还是不可以,这个扩展文件也是有的
    piaomiao0315
        26
    piaomiao0315  
       Jun 22, 2019
    @hyd8323268 你试下我说的,在打印的数组前面加上
    echo "<pre>";
    hyd8323268
        27
    hyd8323268  
    OP
       Jun 22, 2019
    @youzi118 是可以的 但是我想怎么不这样强行修改,去改 print_r 的原代码?我担心有时候会出问题
    piaomiao0315
        28
    piaomiao0315  
       Jun 22, 2019   ❤️ 1
    @hyd8323268 我倒是没有考虑过你说的问题,我工作的时候一直这么用的,打印数据的话肯定也是测试,不会应用到生产环境中.
    dobelee
        29
    dobelee  
       Jun 22, 2019 via Android
    无语。。。这玩意还要改源代码。
    自己实现一个方法,自动包含 pre 不就好了,或者自动把\n 替换成<br>。
    Canon1014
        30
    Canon1014  
       Jun 22, 2019
    ```php
    function dd($data){
    echo "<pre>";
    var_dump($data);
    echo "</pre>";
    die();
    }
    ```
    Laravel 写多了喜欢用 dd
    写到一个公共函数的文件下
    在框架入口文件引入
    baobao1270
        31
    baobao1270  
       Jun 22, 2019
    把 HTTP Header 设成 text/plain
    ben1024
        32
    ben1024  
       Jun 22, 2019 via iPhone
    <pre> or <br/>
    jiejiss
        33
    jiejiss  
       Jun 22, 2019
    Content-Type: text/plain
    ShundL
        34
    ShundL  
       Jun 22, 2019
    xdebug.overload_var_dump ???
    我觉得你应该放一张“别的人的 print ”截图看看效果。。。或者把时间精力用在写 bug 上。
    yc8332
        35
    yc8332  
       Jun 22, 2019
    你没有开 xdebug。。。不然就自己加下 pre 标签
    Rekkles
        36
    Rekkles  
       Jun 22, 2019
    用 composer 么,全局 composer 加载一个 var_dump,把 laravel 的 dd 方法复制一下 启动 php 的时候加载

    [地址]( https://learnku.com/articles/5075/php-global-uses-the-laravel-helper-function-dd)
    hundan
        37
    hundan  
       Jun 23, 2019 via Android
    找个 var_dump 的浏览器插件吧
    1762628386
        38
    1762628386  
       Jun 23, 2019
    **百度:css 自动换行**
    1762628386
        39
    1762628386  
       Jun 23, 2019
    ```
    <style>
    .divcss5{ border:1px solid #00F; height:120px; width:200px;word-wrap:break-word}
    </style>
    ```
    realpg
        40
    realpg  
    PRO
       Jun 23, 2019
    @hyd8323268 #2
    右键,查看网页源代码
    msg7086
        41
    msg7086  
       Jun 23, 2019
    print_r 输出的是纯文本,你浏览器吃的是 HTML。
    你要么 1. 改掉 print_r 输出 HTML。
    你要么 2. 写函数用 HTML 包住输出。
    你要么 3. 用 CSS 格式化纯文本。
    你要么 4. 让浏览器以纯文本渲染文件。

    1 太麻烦了。
    2 #26 #30 #36
    3 #39
    4 #33
    要是 2 3 4 都不喜欢的话,自己下载 PHP 改源码自己编译去吧……
    vovov
        42
    vovov  
       Jun 23, 2019 via Android
    不用楼上那么麻烦,chrome 浏览器有扩展,https://github.com/zxlie/FeHelper 是你想要的
    pixiaotiao
        43
    pixiaotiao  
       Jun 23, 2019 via Android
    print_r 查看源代码不是换行的吗
    way2create
        44
    way2create  
       Jun 23, 2019
    1 xdebug+html_errors=On
    2 pre 或很多框架也自带打印函数
    3 view-source
    ipwx
        45
    ipwx  
       Jun 23, 2019
    Content-Type: text/plain; charset=utf-8
    jimxu16
        46
    jimxu16  
       Jun 23, 2019 via iPhone
    看到别人的时候问下别人不就好了
    liuzhiyong
        47
    liuzhiyong  
       Jun 23, 2019 via Android
    pre 标签应该管用。
    VeryZero
        48
    VeryZero  
       Jun 23, 2019
    echo '<pre>';
    var_dump(array());
    flxxy
        49
    flxxy  
       Jun 23, 2019 via Android
    print_r($arr)
    davin
        50
    davin  
       Jun 23, 2019
    .print {white-space: pre-wrap}
    如果你打印的时候就没有换行,那就是没换行了。
    chen2019
        51
    chen2019  
       Jun 23, 2019 via Android
    输出之前 先 exho "<pre>"
    chen2019
        52
    chen2019  
       Jun 23, 2019 via Android
    echo "<pre/>";
    moodasmood
        53
    moodasmood  
       Jun 24, 2019
    直接 php test.php 这样运行?你别在浏览器里面运行啊
    moodasmood
        54
    moodasmood  
       Jun 24, 2019
    你用 phpstorm 的话,直接在代码文件上右键,运行
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   922 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 212ms · UTC 20:52 · PVG 04:52 · LAX 13:52 · JFK 16:52
    ♥ Do have faith in what you're doing.