gpt4 book ai didi

php - 如何在 PHP 中删除数组中数组的索引计数

转载 作者:行者123 更新时间:2023-11-29 13:53:26 25 4
gpt4 key购买 nike

您好,我有一个数组,其中包含两个其他数组,使用以下代码:

    foreach($relations as $rel){
$data[$i]["relationTo"] = $rel["name"];
$data[$i]["relation"] = $rel["relation"];
$i = $i+1;
}
foreach($relations as $rel){
$children[$i]["id"] = $rel["id2"];
$children[$i]["name"] = $rel["sname"];
$children[$i]["data"] = $data;
$i = $i+1;
}
foreach($relations as $rel){
$relationArray[$i]["id"] = $rel["id"];
$relationArray[$i]["name"] = $rel["name"];
$relationArray[$i]["children"] = $children;
$i = $i+1;
}

当我使用以下方式打印此内容时:

print_r($relationArray);

它打印以下内容:

Array ( [2] => Array ( [id] => 4 [name] => Albaraa [children] => 
Array ( [1] => Array ( [id] => 5 [name] => Sadi [data] =>
Array ( [0] => Array ( [relationTo] => Albaraa [relation] => Father ) ) ) ) ) )

我正在使用 json_encode,我需要它以某种方式以 json 输出,不包括开头的数组索引计数...我使用时的 json 输出:

echo json_encode($relationArray);

目前是这样的:

 {"2":{"id":"4","name":"Albaraa","children":
{"1":{"id":"5","name":"Sadi","data": [{"relationTo":"Albaraa","relation":"Father"}]}}}}

前两个数组前面有“2”和“1”...这不是我想要实现的目标,如下所示:

 {"id":"4","name":"Albaraa","children":
{"id":"5","name":"Sadi","data": [{"relationTo":"Albaraa","relation":"Father"}]}}}}

任何帮助将不胜感激!

最佳答案

几种解决方案

1) 不要通过[$i]输入值,准备新的完整内部数组并使用array_push将其放入

2)如果您仍然想这样做,您可以只提取值:

print_r(json_encode(array_values($array)));

关于php - 如何在 PHP 中删除数组中数组的索引计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16296386/

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