0

こんにちは、次のコードを使用して、その中に他の 2 つの配列で構成される配列があります。

    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つの配列の前に「2」と「1」があると...これは私が達成しようとしているものではなく、次のようになります:

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

どんな助けでも大歓迎です!

4

1 に答える 1