📜  php print array nice format(多个数组) - PHP(1)

📅  最后修改于: 2023-12-03 15:33:31.085000             🧑  作者: Mango

PHP打印多个数组的漂亮格式

在PHP中,使用print_rvar_dump可以很容易地打印数组的内容,但这些输出的格式可能不太易读。本文将演示如何以漂亮的格式打印多个数组。

使用print_rforeach

首先,我们可以使用print_r打印每个数组,并使用foreach遍历它们的键和值:

$array1 = array('foo', 'bar', 'baz');
$array2 = array('apple', 'orange', 'banana');
$array3 = array('red', 'green', 'blue');

// 打印每个数组的键和值
foreach (array($array1, $array2, $array3) as $array) {
    echo "Array:\n";
    foreach ($array as $key => $value) {
        echo "    [$key] => $value\n";
    }
}

这将产生以下输出:

Array:
    [0] => foo
    [1] => bar
    [2] => baz
Array:
    [0] => apple
    [1] => orange
    [2] => banana
Array:
    [0] => red
    [1] => green
    [2] => blue
使用printfarray_map

另一种方法是使用printf格式化打印每个数组,并使用array_map将其应用于每个数组:

$array1 = array('foo', 'bar', 'baz');
$array2 = array('apple', 'orange', 'banana');
$array3 = array('red', 'green', 'blue');

// 格式化打印每个数组
$print_array = function($array) {
    printf("Array:\n");
    array_map(function($key, $value) {
        printf("    [%d] => %s\n", $key, $value);
    }, array_keys($array), $array);
};
array_map($print_array, array($array1, $array2, $array3));

这将产生与上面相同的输出。

使用json_encode

最后,我们可以使用json_encode将多个数组合并为一个JSON字符串,然后再使用json_decode解码它并以漂亮的方式格式化输出:

$array1 = array('foo', 'bar', 'baz');
$array2 = array('apple', 'orange', 'banana');
$array3 = array('red', 'green', 'blue');

// 将所有数组合并为一个关联数组
$merged = array('a' => $array1, 'b' => $array2, 'c' => $array3);

// 将关联数组编码成JSON字符串,并解码并格式化输出
$json = json_decode(json_encode($merged), true);
echo json_encode($json, JSON_PRETTY_PRINT);

这将产生以下输出:

{
    "a": [
        "foo",
        "bar",
        "baz"
    ],
    "b": [
        "apple",
        "orange",
        "banana"
    ],
    "c": [
        "red",
        "green",
        "blue"
    ]
}

以上是多个数组的漂亮格式化打印的几种常见方法。可以根据实际需求选择最适合的方法。