今天在使用dedecms sql標(biāo)簽的時(shí)候沒有數(shù)據(jù)輸入,打開sql.lib.php逐行調(diào)試,發(fā)行在使用$ctp->CTags 之前有數(shù)據(jù),后來想了一下我生成數(shù)據(jù)的KEY值是大寫,會(huì)不會(huì)是這個(gè)原因呢?
帶著這個(gè)問題,用 array_change_key_case()函數(shù) 將所有的KEY轉(zhuǎn)換成小寫,數(shù)據(jù)輸出正常!
PHP數(shù)組函數(shù) array_change_key_case()的作用是將數(shù)組的所有鍵(KEY)轉(zhuǎn)為大寫或者小寫形式。
它的語法形式是:array_change_key_case(array,case)
第一個(gè)參數(shù)array是必需的,傳入的是要做轉(zhuǎn)變的數(shù)組。
第二個(gè)參數(shù)case是可選的,設(shè)定的是要轉(zhuǎn)成大寫還是小寫。
可能的值有:
CASE_LOWER:以小寫形式的鍵返回?cái)?shù)組;
CASE_UPPER:以大寫形式的鍵返回?cái)?shù)組。www.it165.net
其中CASE_LOWER是默認(rèn)值,也即如果不傳入第二個(gè)參數(shù),默認(rèn)小寫形式的鍵返回?cái)?shù)組。
如果數(shù)組中含有數(shù)字索引的鍵,則該鍵無變化。
例:
<?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 )
如果傳入的第一個(gè)參數(shù)所對(duì)應(yīng)的數(shù)組中有兩個(gè)或者兩個(gè)以上的鍵相同,則最后一個(gè)出現(xiàn)的元素會(huì)覆蓋其他元素。
例:
<?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 )
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。
新聞熱點(diǎn)
疑難解答
圖片精選