今天在使用dedecms sql标签的时候没有数据输入,打开sql.lib.php逐行调试,发行在使用$ctp->CTags 之前有数据,后来想了一下我生成数据的KEY值是大写,会不会是这个原因呢?
带着这个问题,用 array_change_key_case()函数 将所有的KEY转换成小写,数据输出正常!
PHP数组函数 array_change_key_case()的作用是将数组的所有键(KEY)转为大写或者小写形式。
它的语法形式是:array_change_key_case(array,case)
第一个参数array是必需的,传入的是要做转变的数组。
第二个参数case是可选的,设定的是要转成大写还是小写。
可能的值有:
CASE_LOWER:以小写形式的键返回数组;
CASE_UPPER:以大写形式的键返回数组。www.it165.net
其中CASE_LOWER是默认值,也即如果不传入第二个参数,默认小写形式的键返回数组。
如果数组中含有数字索引的键,则该键无变化。
例:
<?php$arr = array(‘a’=>’apple’, ‘B’=>’boy’, ’3′=>’three’, ‘D’=>’dog’);print_r(array_change_key_case($arr));print_r(array_change_key_case($arr, CASE_UPPER));?>
输出:
Array ( [a] => apple [b] => boy [3] => three [d] => dog )Array ( [A] => apple [B] => boy [3] => three [D] => dog )
如果传入的第一个参数所对应的数组中有两个或者两个以上的键相同,则最后一个出现的元素会覆盖其他元素。
例:
<?php$arr = array(‘a’=>’apple’, ‘B’=>’boy’, ‘c’=>’cat’, ‘D’=>’dog’, ‘C’=>’come’);print_r(array_change_key_case($arr, CASE_LOWER));?>
输出:
Array ( [a] => apple [b] => boy 1 => come [d] => dog )
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
新闻热点
疑难解答