是否可以写入字符串或日志到控制台?

我的意思是

就像在JSP中一样,如果我们打印system.out.println("some")这样的东西,它将出现在控制台,而不是页面上。


当前回答

我发现这很有帮助:

function console($data, $priority, $debug)
{
    if ($priority <= $debug)
    {
        $output = '<script>console.log("' . str_repeat(" ", $priority-1) . (is_array($data) ? implode(",", $data) : $data) . '");</script>';

        echo $output;
    }
}

像这样使用它:

<?php
    $debug = 5; // All lower and equal priority logs will be displayed
    console('Important', 1 , $debug);
    console('Less Important', 2 , $debug);
    console('Even Less Important', 5 , $debug);
    console('Again Important', 1 , $debug);
?>

在控制台输出:

重要的 不那么重要 更不重要 同样重要的

您可以通过使用$debug值限制不太重要的日志来关闭它们。

其他回答

如果你想写入PHP日志文件,而不是JavaScript控制台,你可以使用这个:

error_log(“这只记录到PHP日志”)

参考:error_log

如果你正在寻找一个简单的方法,echo as JSON:

<script>
    console.log(<?= json_encode($foo); ?>);
</script>

简单的printf和json_encode:

function console_log($data) {
    printf('<script>console.log(%s);</script>', json_encode($data));
}
$variable = "Variable";
echo "<script>console.log('$variable');</script>";

PHP和JavaScript交互。

截至2017年,Firebug和FirePHP已被禁用。

我对ChromePHP工具进行了一些小修改,以允许从FirePHP无缝迁移到Firebug,以便通过控制台进行调试。

这篇文章用简单明了的步骤解释

5分钟内从FirePHP迁移到ChromePHP(不破坏现有代码)