0

次のように生成された構造を持つ配列があります。

$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 ですが、私のコードでは、既に述べたように多くの配列が作成されています。上記と私は簡単に切り替えることができません。

4

2 に答える 2

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

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

また、fetch_assoc を使用しないでください。配列を取得するよりも効率的です。

于 2013-07-08T10:32:27.480 に答える
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
}
于 2013-07-08T10:32:02.803 に答える