通过其中一个字段从php数组中获取节点

时间:2013-07-08 10:29:21

标签: php arrays

我有一个结构生成的数组:

$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,但在我的代码中有很多数组已经像我一样创建如上所述,我无法轻易切换它。

2 个答案:

答案 0 :(得分:1)

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

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

也请不要使用fetch_assoc比获取数组

更有效

答案 1 :(得分: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
}