首页 > 后端开发 > php教程 > 数组动态列读不出数据

数组动态列读不出数据

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
发布: 2016-06-23 13:06:52
原创
1066 人浏览过

                $list=$m->query($sql);//查询结果				$columns=$this->getcolumns($tableName); //模型列名				foreach ($list as $l)		{						foreach ($columns as $c)			{			   $l[$c];//数据读不出来			}		}
登录后复制


如以上 从数据库把所有列都出来 然后动态 根据列名动态取数据取不出来


回复讨论(解决方案)

因为要 返回json 表列有点多 一个个写有点复杂 所以找了个取列明的方法
然而不能动态读取数据么


print_r($list);
print_r($columns);
看看都有什么


print_r($list);
print_r($columns);
看看都有什么



好像发现一个问题

$l['user_name'] 能显示数据 $l['USER_NAME'] 换了大小写就不显示了 php数组区分大小写么

数据库里是大写查询出来的 读的时候都用小写?

对!php数组区分大小写

$a = array('a' => 1, 'A' => 2);print_r($a);
登录后复制
Array(    [a] => 1    [A] => 2)
登录后复制

由于数据库查询时,字段名可能大小写不统一
所以你可对读到的数组用 array_change_key_case 函数统一将关联键转换成大写或小写

由于数据库查询时,字段名可能大小写不统一
所以你可对读到的数组用 array_change_key_case 函数统一将关联键转换成大写或小写


知道了 多谢

由于数据库查询时,字段名可能大小写不统一
所以你可对读到的数组用 array_change_key_case 函数统一将关联键转换成大写或小写


$list=array_change_key_case($list,CASE_UPPER);foreach ($list as $l)		{						foreach ($columns as $c)			{				$l['USER_NAME'];//			}}
登录后复制


转换后读的时候好像还是大写读不出 只能小写读数据

既然你是 foreach ($list as $l)
那么显然 $list 是二维数组,不然也不会有 foreach ($list as $l)
所以要对 $l 做 array_change_key_case


foreach ($list as $l)
{           
      $l = array_change_key_case($l, CASE_UPPER);
      foreach ($columns as $c)
      {
                echo $l[$c];
      }
}

既然你是 foreach ($list as $l)
那么显然 $list 是二维数组,不然也不会有 foreach ($list as $l)
所以要对 $l 做 array_change_key_case
}



了解了
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
python把第x列数据写入第x个文件
来自于 1970-01-01 08:00:00
0
0
0
如何使用多个 React-Bootstrap 模式?
来自于 1970-01-01 08:00:00
0
0
0
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板