将 PHP 数组转换为 JavaScript 数组

发布于 2024-11-27 18:25:18 字数 267 浏览 1 评论 0原文

我想将多维 PHP 数组转换为 JavaScript,并在此处的帖子中找到了此脚本;

<script type='text/javascript'>
<?php
$js_array = json_encode($php_array);
echo "var javascript_array = ". $js_array . ";\n";
?>
</script>

但 JS 数组仍然是空的。是因为我有一个多维数组吗?

I want to convert a multi-dimensional PHP array to JavaScript and found this script in a post here;

<script type='text/javascript'>
<?php
$js_array = json_encode($php_array);
echo "var javascript_array = ". $js_array . ";\n";
?>
</script>

But the JS array remains empty. Is it because I have a multi-dimensional array?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

花开柳相依 2024-12-04 18:25:19

根据您对其中一个答案的评论,您确定 $js_array 是空的还是您只是没有解码它?如果您查看生成的 JavaScript,您会看到 var javascript_array = ; 或其他内容吗?或者,您可以添加 alert( javascript_array ); 进行检查。

编辑:由于变量没问题,您现在可以使用 javascript_array[0].idjavascript_array[0].question 等访问元素。

Based on the comment you gave to one of the answers, are you sure $js_array is empty or are you just not decoding it? If you look at the generated JavaScript, do you see var javascript_array = ; or something else? Alternatively you could add alert( javascript_array ); to check.

EDIT: Since the variable is ok, you can now access the elements with javascript_array[0].id, javascript_array[0].question etc.

愛上了 2024-12-04 18:25:19

您还可以尝试更多手动操作,如下所示:

<?php
// $phpArray= ...
?>
<script type="text/javascript">

  var jsArray = {};
  <?php foreach($phpArray as $key => $val){ ?>
      jsArray.<?php echo $key; ?> = "<?php echo $val; ?>";
  <?php } ?>
  console.log(jsArray);
</script>

You can also try something more manual like this:

<?php
// $phpArray= ...
?>
<script type="text/javascript">

  var jsArray = {};
  <?php foreach($phpArray as $key => $val){ ?>
      jsArray.<?php echo $key; ?> = "<?php echo $val; ?>";
  <?php } ?>
  console.log(jsArray);
</script>
鹿港小镇 2024-12-04 18:25:19

如果 $php_array 不为空,请尝试...

var javascript_array = <?php echo $js_array; ?>;

...而不是:

echo "var javascript_array = ". $js_array . ";\n";

希望有帮助! :)

If $php_array isn't empty, try to...

var javascript_array = <?php echo $js_array; ?>;

...instead of:

echo "var javascript_array = ". $js_array . ";\n";

Hope it helps! :)

夏日落 2024-12-04 18:25:19

您可能必须评估该 json,才能使其不仅仅是 JavaScript 代码中的字符串。

You probably have to eval that json in order for it to be more than just a string in your JavaScript code.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文