0

今夜、オランダの先生とスカイプでちょっとした話をしようと思います :-D おそらく、先生が説明を求めてくると思います.

私は2つの配列Xとその子を持っていますXX

X = {"item1","item2","item3"}
XX= {"item11","item12"};

例えば。

これらの 2 つXXXデータは同じデータベース テーブルから読み取られるため、ID はわかっています (auto_increment)

X's id is 100 and each of its element also has an id (e.g 10,11,12)
XX's id is 101 and each of its element also has an id(e.g 13,14,15)

またX、 と にXXも親 ID があります (例:200100それぞれ)。これは、その親へid=100のポイントです。そして、 の各要素には、 が である同じ親があります。XXXXXitem1id10

ただし、親には、いくつかの子があることを示す「フラグ」がありません。問題が発生します。

foreach($X as $x)
{
   foreach($XX as $xx)
   {
      if($xx->parentId==$x->id)
      {
         echo "Ahha children know they have their parents";
      }       
   }
}

はい、そのコードは問題なく動作しますが、「ああ、親は親にも子供がいることを知っています」と反響する方法をぜひ検討したいと思います。ありがとうございました。

4

1 に答える 1

0

私の質問によると、私はあなたの質問について100%確信が持てませんが、これがあなたの問題を解決する方法かもしれません:

foreach($X as $x)
{
    foreach($XX as $xx)
    {
        if ($xx->parentId == $x->id)
        {
            echo "Ahha children know they have their parents";
            if (!isset($x->children)) {
                $x->children = array();
            }
            $x->children[] = $xx;
        }
    }
    if (!empty($x->children)) {
        echo "This parent has " . count($x->children) . " children";
    }
}
于 2012-09-12T08:55:13.443 に答える