2012-09-12 15 views
0

我將與我的老師從荷蘭今晚通過skype進行一個很好的小談話:-D 我猜這可能是他要我解釋的。映射兩個陣列 - 從與我的荷蘭老師的談話

我有兩個數組,X及其子XX

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

例如。

這兩個XXX數據來自同一個數據庫表中讀取,因此我知道他們的IDS(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) 

而且XXX也有他們的父類標識(例如200100分別)。您看到id=100XX指向其父母X。並且XX的每個元素具有相同的父親,即item1,其id10

但是,父母沒有任何「標誌」告訴我,它確實有一些孩子。發生問題。

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

是的,這段代碼運行正常,但通過各種手段我希望尋找到一些方法來呼應「AHHA父母現在知道父母也有一些孩子」。謝謝。

+1

你能,我只想澄清,發佈的'print_r' '$ X'和'$ XX'? – h2ooooooo

+0

有無變換「模型」?即你可以改變信息的存儲方式嗎? – VolkerK

回答

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"; 
    } 
}