【问题标题】:How to print an Array on one line如何在一行上打印一个数组
【发布时间】:2016-02-16 17:45:31
【问题描述】:

我已经搜索了答案,但没有一个直接相关,或者我无法对其进行调整以解决我的问题

如何在一行中打印以下内容

<?php

$product_array = array("id"=>001, "description"=>"phones", "type"=>"iphone");


print "Print the product_array = ";
print_r($product_array);

?>

当前结果

打印 product_array =Array

(

[id] => 001

[描述] => 电话

[类型] => iphone

)

想要的结果

打印 product_array =Array ( [id] => 001 [description] => 电话 [类型] => iphone )

【问题讨论】:

  • 默认情况下,它应该在您的浏览器中以一行呈现。

标签: php html arrays


【解决方案1】:
echo str_replace("\n", '', print_r($product_array, true));

【讨论】:

    【解决方案2】:
    $arrayString = print_r($array, true);
    echo str_replace("\n", "", $arrayString);
    

    print_r 的第二个值让函数返回值而不是直接打印出来。

    【讨论】:

      【解决方案3】:

      如果您只是为了监控或调试目的而查看数组的内容,或许将数组编码为 JSON 会很有用:

      print "Print the product_array = " . json_encode($product_array);
      

      结果:

      打印product_array = {"id":1,"description":"phones","type":"iphone"}


      或者,您可以使用var_export function 获取变量的可解析表示,然后简单地删除字符串中的所有换行符。

      var_export — 输出或返回变量的可解析字符串表示形式

      这是一个简单的例子:

      $str = var_export($product_array, true);
      print "Print the product_array = " .  str_replace(PHP_EOL, '', $str);
      

      这将为您提供您指定的结果:

      打印 product_array = array ('id' => 1, 'description' => 'phones', 'type' => 'iphone',)


      我会推荐第一个选项,因为它需要较少的“操作”字符串 - 第二个选项开始执行替换,而第一个选项只是立即提供可读的输出。

      【讨论】:

      • 简单,不需要多行源代码,方便输出更简洁。绝对比公认的答案好,后者似乎因不得不使用print_r 而被挂断。
      【解决方案4】:

      请注意,可以同时替换几个不同的字符(例如换行符和空字符),例如:

      echo str_replace(array("\n", "\0"), "", print_r($product_array, 1))
      

      【讨论】:

        【解决方案5】:

        这是我用的:

        $width = 150;
        $height = 100;
        
        print json_encode(compact('width')) . PHP_EOL;
        print json_encode(compact('height')) . PHP_EOL;
        

        输出是:

        {"width":369}
        {"height":245}
        

        额外的好处是您可以一次在紧凑函数中执行多个变量:

        print json_encode(compact(['width', 'height'])) . PHP_EOL;
        

        这种情况下的输出是:

        {"width":369,"height":245}
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-02-20
          • 1970-01-01
          • 2021-06-01
          • 1970-01-01
          • 1970-01-01
          • 2015-06-05
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多