[英]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.