一个函数解决PHP不能在控制台打印的问题
长久以来PHP都只能在网页上打印数据,而不能像python和java这些编程语言一样,在控制台输出内容,这样在调试时候,很不方便。
https://blog.csdn.net/flyfreelyit/article/details/50737611 结合这篇文章 我们来谈谈到底怎么实现控制台打印
首先,我们需要用php内置的web服务器来启动服务器,而不是用阿帕奇或者nginx。
进入项目目录,然后在命令行下输入以下命令:
php -S localhost:8080
我们先浏览器打印个helloworld
然后运用以下函数,就可以在控制台输出了
/*
* cli模式或者内置server打印调试信息,而不在浏览器输出
* param fixed $data 参数可以是除了对象以外的所有数据类型,比如:字符串,数组,jason等
*/
function phpconsole($data){
$stdout = fopen('php://stdout', 'w');
fwrite($stdout,json_encode($data, JSON_UNESCAPED_UNICODE)."\n");//JSON_UNESCAPED_UNICODE 可以解决汉字乱码问题
fclose($stdout);
}
我们在控制台打印个helloworld
$str = "hello world";
phpconsole($str);
访问浏览器
再看控制台
再试试打印数组
$arr = [
["name"=>"张三","age"=>18,"phone"=>"15866162534"],
["name"=>"李四","age"=>29,"phone"=>"15866168842"]
];
phpconsole($arr);
也可以打印,没问题!