0

今晚我将通过 Skype 与来自荷兰的老师进行一次愉快的闲聊:-D 我猜这可能是他要我解释的。

我有两个数组,X它的孩子XX

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

例如。

这两个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分别)。您会看到 this指向它的id=100parent 。并且 的每个元素都具有相同的父级,即其is 。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 回答