array($x => $-6ren">
gpt4 book ai didi

javascript - 将 PHP 关联数组转换为 json 对象

转载 作者:行者123 更新时间:2023-12-03 11:51:48 25 4
gpt4 key购买 nike

我在 PHP 中有一个关联数组:

foreach ($result as $value) {   
$x++;
$data += array("nds" => array($x => $x), "eds" => array(), "an" => array($x => $this->model->getLng($value)));
}

我将此数组发送到 JS 文件,它打印如下:

{"nds":{"1":1},"eds":[],"an":{"1":[45.4423073,-75.7979993]}}

但是,我无法到达 nds,因为这返回未定义:

console.log(data.nds);

最佳答案

PHP 只是将字符串发送到 JS 文件。您首先需要设置一个等于该字符串的变量:

<script>
var json = '<?= $data; ?>';
</script>

现在我们有了一个 JS 变量 json,但需要将其转换为对象以引用 nds 属性。我们可以用 JSON.parse() 来做到这一点:

<script>
var json = '<?= $data; ?>';
var data = JSON.parse(json);

console.log(data.nds); // Object {1: 1}
</script>
<小时/>

@RobM 提出了一个很好的观点,我们甚至不需要将其解析为字符串,只需将变量设置为 JSON 转储即可:

<script>
var data = <?= $data; ?>;
console.log(data.nds); // Object {1: 1}
</script>

这仍然需要您传递 JSON 数据 ({ "nds": { "1": 1 }, "eds": [], "an": { "1": [ 45.4423073, -75.7979993 ] } }) 从 PHP 脚本转换为 JS 变量。

关于javascript - 将 PHP 关联数组转换为 json 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25799158/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com