一个函数解决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);

也可以打印,没问题!

posted @ 2023-06-08 01:16  波罗斯の程序日记  阅读(24)  评论(0编辑  收藏  举报