在php中,有時我們需要將陣列內的鍵值改為大寫。這個需求可能出現在例如讀取資料庫表格,取得到的欄位名稱是小寫,但是我們希望使用大寫來表示。
那麼,要如何將陣列內的鍵值改為大寫呢?下面介紹兩種方法。
方法一:使用array_change_key_case函數
php提供了array_change_key_case函數,可以將陣列的鍵名全部轉換為大寫或小寫。我們可以利用這個函數,將數組內的鍵值改為大寫,範例程式碼如下:
// 原始数组 $originalArray = array("name"=>"Tom", "age"=>20, "gender"=>"male"); // 使用array_change_key_case函数将键名全部转为大写 $newArray = array_change_key_case($originalArray, CASE_UPPER); // 输出新的数组 print_r($newArray);
#輸出結果如下:
Array ( [NAME] => Tom [AGE] => 20 [GENDER] => male )
可以看到,原始數組中的鍵值已經全部轉為大寫。
要注意的是,array_change_key_case函數並不會修改原始數組,而是傳回一個新數組。因此,在實際使用上需要根據實際情況進行修改。
方法二:使用array_map函數
除了array_change_key_case函數,我們也可以使用array_map函數來實作將陣列內鍵值改為大寫的效果。 array_map函數可以將一個函數作用在陣列的每一個元素,範例程式碼如下:
// 原始数组 $originalArray = array("name"=>"Tom", "age"=>20, "gender"=>"male"); // 定义一个函数,将字符串转为大写 function strToUpperCase($str) { return strtoupper($str); } // 使用array_map函数将原始数组的键名全部转为大写 $newArray = array_combine(array_map("strToUpperCase", array_keys($originalArray)), $originalArray); // 输出新的数组 print_r($newArray);
#輸出結果如下:
Array ( [NAME] => Tom [AGE] => 20 [GENDER] => male )
可以看到,原始陣列中的鍵值已經全部轉為大寫。
要注意的是,array_map函數也不會修改原始數組,而是傳回一個新數組。同時,為了確保新數組的鍵名和原始數組的鍵名對應,我們使用了array_combine函數將新的鍵名和原始數組的值拼接起來。
總結:
無論是使用array_change_key_case函數或是array_map函數,都可以實現將陣列內的鍵值改為大寫的效果。需要酌情選擇具體的方法,來達到實際開發的需求。
以上是php將數組內鍵值改為大寫的詳細內容。更多資訊請關注PHP中文網其他相關文章!