繁体   English   中英

如何在一行上打印一个数组

[英]How to print an Array on one line

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

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

<?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] =>phones [type] => iphone)

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

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

结果:

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


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

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',)


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

echo str_replace("\n", '', print_r($product_array, true));
$arrayString = print_r($array, true);
echo str_replace("\n", "", $arrayString);

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

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

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

这是我使用的:

$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}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM