php - 使用 print_r 或 php 中的任何其他函数打印多个数组

标签 php arrays printf var-dump

我需要在我的代码中打印多个数组的内容。例如

   function performOp($n, $inputArr, $workArr)
    {
        printf("Entered function, value of n is %d", $n);
    print_r($inputArr);
    print_r($workArr);
        $width =0;
    }

现在,我可以不用写两次 print_r,而是可以写一条语句并打印两个数组吗? 另外,如果我想在显示 Array{} 之前打印“Input array value is”,有没有办法使用 printf 或任何其他函数来实现?

我试着写

    printf("Value of inputArray is %s ", print_r($inputArr)
, 但这是行不通的。

非常感谢任何帮助。

谢谢

最佳答案

转储变量

您可以将多个数组传递给 var_dump()

var_dump( $array, $array2, $array3 );

例如,以下内容:

$array = array("Foo", "bar");
$array2 = array("Fizz", "Buzz");

var_dump( $array, $array2 );

输出这个:

array(2) { [0]=> string(3) "Foo" [1]=> string(3) "bar" }
array(2) { [0]=> string(4) "Fizz" [1]=> string(4) "Buzz" }

请注意它如何在输出中保持两个数组的不同。

有 n 个参数的函数

您还可以使用一个函数,为传入的数组调用 func_get_args():

function logArrays() {
  $arrays = func_get_args();
  for ( $i = 0; $i < func_num_args(); $i++ )
    printf( "Array #%d is %s", $i, print_r($arrays[$i], true) );
}

logArrays( $array, $array2 );

在这种情况下,将输出以下内容:

Array #0 is Array ( [0] => Foo  [1] => bar  )
Array #1 is Array ( [0] => Fizz [1] => Buzz )

使用 json_encode() 而不是 print_r 会输出更易读的格式:

Array #0 is ["Foo","bar"]
Array #1 is ["Fizz","Buzz"]

关于php - 使用 print_r 或 php 中的任何其他函数打印多个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10441757/

相关文章:

php - 使用 PHP 在动态选择列表中选择多个初始值

java - 将 .wav 转换为数组

arrays - 如何使用关联类型和数组扩展协议(protocol)

c - printf ("%s\n") 输出不同于 printf ("%s")

php - 函数填充第一个列表框但不填充数据库表中的第二个

javascript - PHP - 哪个表单已从 <i> 元素提交?

php - 如何在 Kohana 3.1 中应用 "matches"验证规则?

arrays - 如何分配按名称传递给函数的数组

c - E Balaguruswamy 书第 1 章主题子例程第 3 版中的 C 代码错误

无法打开要追加的特定文件名