在浏览器控制台或 Javascript 中打印或显示 PHP 数组

Posted

技术标签:

【中文标题】在浏览器控制台或 Javascript 中打印或显示 PHP 数组【英文标题】:Print or Display PHP array in Browser Console or in Javascript 【发布时间】:2017-07-08 13:40:35 【问题描述】:

我需要使用 javascript 在浏览器控制台中打印 php 数组

在这里我分享了我的代码

<?php
function browser_console($data) 
    echo "<script>console.log('" . $data . "');</script>";

如果有人知道最好的代码,请告诉我。

谢谢

【问题讨论】:

不是点击...当页面加载它应该打印.. 你应该清楚地说明问题 - 我假设在这种情况下你根本无法让它工作并且什么也没看到。 谁在执行 browser_console? 我明白了,谢谢你们...... 【参考方案1】:

尝试使用json_encode()

例子

echo "<script>console.log('" . json_encode($data) . "');</script>";

【讨论】:

小心,您将$data 数组作为字符串传递。【参考方案2】:

您可以使用json_encode 来解析 json 中的数组并能够从 javascript 中读取它:

PHP 文件:

<?php 

$data = array(
    "data" => "Hello",
    "data1" => "World"
);

echo "<script>console.log(".json_encode($data).");</script>";

Web 控制台中的输出:

对象数据:“你好”,数据1:“世界”

【讨论】:

@Kavin。很高兴听到它,但这个解决方案是不同的。在这里,您可以使用来自 javascript 的 json 对象。在接受的解决方案中,json 对象作为字符串传递给 javascript。【参考方案3】:

我正在使用

echo "<script>console.log(".json_encode(var_export($object, true)).");</script>";

因为它允许您显示复杂的 PHP 对象,而不仅仅是数组。

【讨论】:

这是唯一对我有用的答案。【参考方案4】:

除了其他人所说的之外,尝试添加JSON.parse - 这样它就会将console.logged 作为一个对象,这意味着您可以像这样在 Chrome 中扩展它并导航它。

 echo "<script>console.log(JSON.parse('" . json_encode($data) . "'));</script>";

来源:https://alligator.io/js/json-parse-stringify/


注意:我知道这个问题是关于数组的,所以字符串可能没问题,但要表示更复杂的对象,这会更好。

【讨论】:

以上是关于在浏览器控制台或 Javascript 中打印或显示 PHP 数组的主要内容,如果未能解决你的问题,请参考以下文章

javascript 调试技巧

将 QWebView 中的 Javascript 异常打印到控制台

linux 基本知识

缓存控制的默认值是多少?

关于引用参数或显式返回值的 PHP 方法的最佳实践

jquery除了alert()打印出结果还有其它方式吗?