我正在使用以下命令转储变量:
ob_start(null, 4096);
define('SITERNDNUM', rand(10000000,99999999));
// other declarations and vars
Session::init();
//
$output_ob = ob_get_contents();
var_dump($output_ob);
我得到的所有输出是:
string(2560) " "
我尝试使用冲洗功能和其他无用的输出功能。
字符串不为空。它是2560字节长。 var_dump()无法显示所有字符,并取消某些字符的输出。
供您理解:
$str = "\x00\x01\x02\n";
var_dump($str); //string(4) " "
十六进制表示法可以使所有字节可见。
function strhex($s){
return $s != '' ? '\\x'.implode('\\x',str_split(bin2hex($s),2)) : '';
}
$str = "\x00\x01\x02\n";
echo strhex($str); // \x00\x01\x02\x0a
如果使用此功能代替var_dump,则所有字符都将可见。