gpt4 book ai didi

Javascript 将我的嵌套数组视为一个对象

转载 作者:行者123 更新时间:2023-11-30 09:40:26 25 4
gpt4 key购买 nike

我正在尝试将嵌套的 PHP 数组发送到 Javascript。但是 Javascript 将顶层解析为对象。

The Teams array should contain 2 other arrays with each 2 team names

如您在屏幕截图和 json 中所见,“Teams”是一个对象。

"teams":{"1":["test","test"],"2":["test","test"]},"results":[]}

enter image description here

这是我用来构建嵌套数组的代码

$iterator = 0;
for($i = 0; $i < $competition->teams->count(); $i++) {
if($i % 2 == 0) {
$iterator++;
}
$data["teams"][$iterator][] = "test";
}

有趣的是,它在数组不是多维时起作用。例如,以下示例不会将 Teams 作为对象返回。

enter image description here

我猜如果我删除数组键它可能会起作用,但不可能有没有数组键的嵌套数组,对吧?

知道我可能做错了什么吗?以及如何让 Javascript 仅查看我的嵌套数组而不将其视为对象。

谢谢!

最佳答案

您的代码存在一个问题,$iterator 始终以值 1 开头,因此 json_encode 函数使用 JSON 对象来保存该索引。

当您从 0 开始索引数组时,一切都会改变。

$test = array(
1 => 'test'
);

echo json_encode($test);

显示 {"1":"test"} 这是一个对象。

$test = array(
0 => 'test'
);

echo json_encode($test);

显示 ["test"],这是一个数组。

关于Javascript 将我的嵌套数组视为一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41376769/

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