我发现了一些奇怪的行为,无法解释发生了什么:
$e = 3;
echo "with array " . print_r($e);
Run Code Online (Sandbox Code Playgroud)
给出:
3with array 1
Run Code Online (Sandbox Code Playgroud)
为什么?
连接是在任何输出之前完成的,因此:
echo "with array " . print_r($e);
Run Code Online (Sandbox Code Playgroud)
是
print_r. print_r打印3并返回TRUE.with array用 . 连接起来的字符串TRUE。的字符串表示形式TRUE是1。3with array 1如果您想print_r返回值而不是打印它 - 使用它的第二个参数:
echo "with array " . print_r($e, true); // `with array 3`
Run Code Online (Sandbox Code Playgroud)