📅  最后修改于: 2023-12-03 15:33:31.085000             🧑  作者: Mango
在PHP中,使用print_r
或var_dump
可以很容易地打印数组的内容,但这些输出的格式可能不太易读。本文将演示如何以漂亮的格式打印多个数组。
print_r
和foreach
首先,我们可以使用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
printf
和array_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"
]
}
以上是多个数组的漂亮格式化打印的几种常见方法。可以根据实际需求选择最适合的方法。