簡體   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