2012-07-22 53 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;