Rumah > pembangunan bahagian belakang > tutorial php > 数组动态列读不出数据

数组动态列读不出数据

WBOY
Lepaskan: 2016-06-23 13:06:52
asal
1045 orang telah melayarinya

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


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


回复讨论(解决方案)

因为要 返回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);
Salin selepas log masuk
Array(    [a] => 1    [A] => 2)
Salin selepas log masuk

由于数据库查询时,字段名可能大小写不统一
所以你可对读到的数组用 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'];//			}}
Salin selepas log masuk


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

既然你是 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
}



了解了
Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan