2012-07-22 54 views
0

我完全迷失了方向得到不同的陣列值,在下面的代碼:PHP,從不同的foreach

while($row = mysqli_fetch_object($result)){ 
     $similar_games[$row->game_id]['id'][] = $row->id; 
     $similar_games[$row->game_id]['name'][] = $row->name; 
     $similar_games[$row->game_id][$type] = 0; 
    } 
     foreach($similar_games as $originalGameKey => $originalGame){ 
      //Can be a case where union gets unset, and not populated. scares ksort(); 
      $union = array(); 
      $similar_values = array(); 

      $union = $similar_concepts; 

      foreach($originalGame['id'] as $similarGameKey => $similarGame){ 
       if(!isset($union[$similarGame])){ 
        $union[] = $similarGame; 
       } 
      } 
      foreach($originalGame['id'] as $similarGameKey => $similarGame){ 
       if(isset($union[$similarGame])){ 
        $similar_values[] = $similarGame; 
       } 
      } 
      $similar_games[$originalGameKey]["union"] = $similar_values; 
     } 

在生產線$similar_values[] = $similarGame;我試圖讓$row->name而非$row->id

但我不知道如何製作基於['id']訪問['name']值的foreach。

如果這太混亂,我可以嘗試澄清,但我在這裏遇到麻煩。

回答

0

我只是改變:

foreach($originalGame['id'] as $similarGameKey => $similarGame){ 
       if(isset($union[$similarGame])){ 
        $similar_values[] = $similarGame; 
       } 
      } 
      $similar_games[$originalGameKey]["union"] = $similar_values; 

要:

for($i = 0; $i<count($originalGame['id']);$i++){ 
       if(isset($union[$originalGame['id'][$i]])){ 
        $similar_values[] = $originalGame['name'][$i]; 
       } 
      } 
      $similar_games[$originalGameKey]["union"] = $similar_values;