thinkphp\library\think\db\driver\Mysql.php中第57行有如下代码
$result = array_change_key_case($result);意思是将得到的表信息数组的键值转为小写,(我在数据库链接配置的参数中使用了,PDO::ATTR_CASE => PDO::CASE_NATURAL,键值是以实际大小写命名输出的),以便下面的几行调用,但实际发现这行代码,并没有起到转换作用。与是,我手写了下面代码,发现确实不行
$cc = [
'0'=>[
'Abc'=>'asdfasdf',
'BBAbc'=>'asdfasdf',
'AbDDc'=>'asdfasdf',
]
];
$tmp = array_change_key_case($cc);
dump($tmp);
return;实际打印出来的是array (size=1)
0 =>
array (size=3)
'Abc' => string 'asdfasdf' (length=8)
'BBAbc' => string 'asdfasdf' (length=8)
'AbDDc' => string 'asdfasdf' (length=8)也就是说,array_change_key_case对二数组无效,但对一维数组是有效的,请教一下,为啥为效,是否我的PHP还需要配置一下才能有效?
主要目的是想原样输出表中的字段名
最佳答案