2013-07-08 26 views
0

我有这样的生成与结构的阵列中的一个获得由PHP数组节点:由田间

$groups = array(); 
while ($group = mysql_fetch_array($groups_result)) { 
     $groups[] = array('id' => $group['id'], 'name' => $group['name']); 
    } 

我怎样才能在后面的代码通过ID获取组的名称?例如,我想喜欢的功能:

function get_name_by_id($id, $array); 

但是我正在寻找一些解决方案,它在PHP中已经实现。我知道使用array [5] = array('name'=>“foo”)等来创建数组会更容易,其中5在本例中是id,但在我的代码中,有很多数组已经创建,上面,我不能轻松切换它。

+0

这是非常不清楚你在问什么。你在实现像'get_name_by_id($ id)'这样的函数时有什么问题? – deceze

+0

问题必须证明对所解决问题的最小理解。 – hek2mgl

+0

将数组也传递到你的函数 – Codesen

回答

1
$groups = array(); 
while ($group = mysql_fetch_assoc($groups_result)) { 
    $groups[$group['id']] = array('name' => $group['name']); 
} 

$name = $groups['beer']['name']; 

也请不使用FETCH_ASSOC的效率比获取数组

+0

我知道我可以这样做,但我有很多已经用这种方式创建的数组实例,我现在不想切换这个想法 –

0
function get_name_by_id($id, $data) { 
    foreach($data as $d) { 
     if ($d['id'] == $id) { 
      return $d['name']; 
     } 
    } 
    // return something else, id was not found 
} 
+0

我不是在寻找确切的解决方案,我可以编写一个这样的功能。我正在寻找已经在PHP中实现的解决方案,是否有一些功能可以这样工作。 –