2012-07-18 39 views
0

我有10組3個值。在每個點上,我只會知道其中的一個值,並且需要檢索另外兩個值。例如,我知道什麼是id_a2,如何使用它來獲取id_a1和id_a3?如何關聯值?

id_a1, id_a2, id_a3 
id_b1, id_b2, id_b3 
id_c1, id_c2, id_c3... 
+1

問題是不明確的,什麼是之間的關係數據?你的數據的數據結構是什麼? – xdazz 2012-07-18 01:43:28

+0

值是否重複在不同的組中,或者每個值都是唯一的? – 2012-07-18 01:46:10

回答

0

儲存於一個多維數組,然後遍歷它:

$data = array(
    array('id_a1', 'id_a2', 'id_a3'), 
    array('id_b1', 'id_b2', 'id_b3'), 
    array('id_c1', 'id_c2', 'id_c3') 
); 

find_siblings('id_b2', $data); // returns: array('id_b1', 'id_b3') 

function find_siblings ($needle, $haystack) 
{ 
    foreach ($haystack as $array) 
    { 
     if (in_array($needle, $array)) 
     { 
      $out = array(); 

      foreach ($array as $value) 
      { 
       if ($value != $needle) $out[] = $value; 
      } 

      return $out; 
     } 
    } 
} 

在這裏看到它在行動:http://viper-7.com/VPVTnU