PHP:将数组转换为字符串?

PHP:将数组转换为字符串?,php,arrays,debugging,Php,Arrays,Debugging,我有一个问题:我需要将数组转换为字符串并将其传递给函数以调试输出 我不能用print\u r直接输出字符串,我需要将它与其他字符串连接起来,并将其传递给函数 谷歌没有带来任何结果,显示在一个人可读的方式阵列,而不直接打印它们。我需要一个可以传递给另一个函数的字符串。您可以像这样使用print\r()函数: $myarray = ['a', 'b', 'c']; $string = print_r($myarray, true); echo $string; 作为第二个参数的可选布尔标志使函数返

我有一个问题:我需要将数组转换为字符串并将其传递给函数以调试输出

我不能用
print\u r
直接输出字符串,我需要将它与其他字符串连接起来,并将其传递给函数


谷歌没有带来任何结果,显示在一个人可读的方式阵列,而不直接打印它们。我需要一个可以传递给另一个函数的字符串。

您可以像这样使用
print\r()
函数:

$myarray = ['a', 'b', 'c'];
$string = print_r($myarray, true);
echo $string;

作为第二个参数的可选布尔标志使函数返回字符串,而不是直接将其发送到输出

print\r
使用可选参数设置为true以返回字符串,而不是输出字符串:

$array = array('foo', 'bar', array('baz' => true, 'test' => 42));
$stringifiedArray = print_r($array, true);
/* $stringifiedArray == "
    Array
    (
        [0] => foo
        [1] => bar
        [2] => Array
            (
                [baz] => 1
                [test] => 42
            )

    )
"
*/
否则,我可以看到两种方式,但这两种方式都不容易被人阅读:

  • json\u编码
$stringifiedArray=json\u encode($array,true);
//$stringifiedArray==“[“foo”,“bar”,“{“baz”:true,“test”:42}]”

  • 序列化
$stringifiedArray=serialize($array,true);

//$stringifiedArray==“a:3:{i:0;s:3:{foo;i:1;s:3:“bar”;i:2:{s:3:“baz”;b:1;s:4:“test”;i:42;}}}”

您也可以尝试

尝试内爆(),并用代码显示您的预期输出。请发布一个示例字符串、您的预期输出以及您迄今为止尝试实现结果的代码。您可以使用
$str print\r($someData,true)
的可能副本要以格式化的方式显示它,您可以将它包装在“”标记周围:$string=''。print\r($myarray,true)。''.@SupriyaRajgopal当然可以,但这不是这里的目标(根据OP)而且,重要的是,这只适用于基于HTML的输出,因此只有在使用浏览器时才有效。这种尝试在其他情况下没有意义,例如在使用PHP和CLI时。