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