怎么提取数据库数据,返回一个只有一个字段的所有值的一维数组?小白一个,在做一个下拉菜单,form_dropdown中第二个参数要一个列表内容的数组,怎么提取到二维数组中的一个字段形成一个一维数组呢?请大家帮帮忙

解决方案 »

  1.   

    foreach($二维数组 as $v) $r[] = $v['指定的键名或下标'];$r 就是你要的一维数组
      

  2.   

    foreach($category as $key){
    $data['name']= $key['category_name'];
    }
    var_dump($data);
      

  3.   

    我是提取数据库数据返回数组result_array,赋值给$data['category'],然后在视图页面用$category遍历,最后想提取数据库中的一个字段中的所有值形成一个数组,存入$form_dropdown中,但就是存入时返回不了数组
      

  4.   

    $data['name']= $key['category_name'];
    你这样当然是单值
    $data['name'][] = $key['category_name'];
    这样才是数组
      

  5.   

    推荐的写法
    $data['name'] = array_map(function($key) { return $key['category_name']; }, $category);
      

  6.   

    这是 php 5.3 开始推荐的写法,与框架无关用闭包减少循环的层次,可以充分利用 php 内部的运算能力
      

  7.   

    两个key拼成键值数组的时候这样写:
    $data['name']['第一个key'] = $key['第二个key‘];
      

  8.   

    最简单的方法,先把需要的读出来,再使用foreach创建适合使用的数组格式。$data = array();
    foreach($category as $key){
    $data['name'][]= $key['category_name'];
    }
    var_dump($data);
    那如果提取两个字段值呢?一个作键名,一个作键值,该怎么提取呢$data = array();
    foreach($category as $key){
    $data['name'][$key['字段1']]= $key['字段2'];
    }
    var_dump($data);
      

  9.   

    这个就比较复杂了,因为 键名 必须唯一,你需要先保证作为键名的字段值没有重复才行对于
    foreach($category as $key){
      $data['name'][] = $key['category_name'];
    }
    而言 category 是分类,所以 category_id 应该不会重复
    于是有
    foreach($category as $key){
      $data['name'][$key['category_id']] = $key['category_name'];
    }
      

  10.   

    //例如要获取user 表中的id这一列
    $arr = M('user')->where()->getField('id',true);
      

  11.   

    数组名   $data ,你要的 ‘key’ , 你要的结果 array_column($data,'key');   只支持 php5.4  以上版本
      

  12.   

    mysql_fetch_field(data,field_offset)  读取一列信息