在浏览器控制台或 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.log
ged 作为一个对象,这意味着您可以像这样在 Chrome 中扩展它并导航它。
echo "<script>console.log(JSON.parse('" . json_encode($data) . "'));</script>";
来源:https://alligator.io/js/json-parse-stringify/
注意:我知道这个问题是关于数组的,所以字符串可能没问题,但要表示更复杂的对象,这会更好。
【讨论】:
以上是关于在浏览器控制台或 Javascript 中打印或显示 PHP 数组的主要内容,如果未能解决你的问题,请参考以下文章