$category = array(
          'nb' => array(
            'title' => '笔记本',
            'type' => 'nb',
            'path' => 'nb',
            'tid' => array(1225),
            'fid' => '2',
            'cache' => 1,
            'block' => 1,
        ),
          'pc' => array(
            'title' => '台式机',
            'type' => 'pc',
            'path' => 'pc',
            'tid' => array(1001),
            'fid' => '15',
            'cache' => 1,
            'block' => 1,
        ),
          'dramflash' => array(
            'title' => '內存、闪存',
            'type' => 'dramflash',
            'path' => 'dramflash',
            'tid' => array(1000, 1027),
            'fid' => '16',
            'cache' => 1,
            'block' => 1,
        ),
          'mobile' => array(
            'title' => '电信、手机',
            'type' => 'mobile',
            'path' => 'mobile',
            'tid' => array(1226),
            'fid' => '28',
            'cache' => 1,
            'block' => 1,
        ),
          'others' => array(
            'title' => '其他',
            'type' => 'others',
            'path' => 'others',
            'tid' => array(1229),
            'fid' => array(15, 16),
        )
);
while(!$result->EOF){
    $gid = $result->fields["gid"];
   
    foreach($category as $key=>$value){
        if($value['fid'] == $gid){
                      $gname = $value['title'];
                }
    }
        echo $gname;
    $result->MoveNext();
}从数据库中循环取出gid的值,然后在判断$gid在$category数组中相匹配的title
例如 $gid = 15,则$gname值为:台式机
上面那段我觉得有点问题,出错了,请教各位了。。如何正确得到$gname的值?

解决方案 »

  1.   

    不知道你用的什么数据库,mysql的话就这样写:
    while($row=mysql_fetch_assoc($result)){  // 循环填充数组
        foreach($category as $key=>$value){ // 遍历查找
            if($value['fid'] == $gid){ 
                $gname = $value['title'];
                 echo $gname; 
                 break; // 找到就跳出循环,效率更高 
            } 
        } 
    }