我有一个数组,其结构如下所示:
$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,但在我的代码中,已经创建了很多数组,就像我上面提到的那样,我无法轻松切换它。
$groups = array();
while ($group = mysql_fetch_assoc($groups_result)) {
$groups[$group['id']] = array( 'name' => $group['name']);
}
$name = $groups['beer']['name'];
另外,请不要使用fetch_assoc比提取数组更高效
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
}