今天在使用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 )
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答