在PHP 中,數組是非常靈活的數據結構。我們在日常開發中,經常需要對數組的鍵名或鍵值進行各種處理。今天我們就來看看三個非常常用的數組函數—— array_change_key_case() 、 array_keys()和array_values() ,並學習如何將它們組合使用來實現複雜的數據處理需求。
這個函數用於將數組中的所有鍵名統一轉換為小寫或大寫。它的基本語法如下:
array_change_key_case(array $array, int $case = CASE_LOWER): array
參數說明:
$array :輸入的數組。
$case :可選, CASE_LOWER (默認)或CASE_UPPER 。
示例:
$data = [
"Name" => "Alice",
"AGE" => 25,
"Email" => "alice@m66.net"
];
$lowerKeys = array_change_key_case($data, CASE_LOWER);
print_r($lowerKeys);
輸出:
Array
(
[name] => Alice
[age] => 25
[email] => alice@vv99.net
)
這兩個函數分別用來提取數組的所有鍵名和所有鍵值。
array_keys(array $array): array
array_values(array $array): array
示例:
$data = [
"name" => "Alice",
"age" => 25,
"email" => "alice@m66.net"
];
$keys = array_keys($data);
$values = array_values($data);
print_r($keys);
print_r($values);
輸出:
Array
(
[0] => name
[1] => age
[2] => email
)
Array
(
[0] => Alice
[1] => 25
[2] => alice@vv99.net
)
有時候我們從不同來源(如API 或表單)接收到的數據格式不統一,比如鍵名大小寫不一致。我們可以先用array_change_key_case()統一鍵名,再用array_keys()和array_values()分別提取鍵和值,做進一步處理或映射。
$userData = [
"NaMe" => "Bob",
"AgE" => 30,
"EMAIL" => "bob@m66.net"
];
// 步驟 1:統一鍵名為小寫
$normalized = array_change_key_case($userData, CASE_LOWER);
// 步驟 2:提取鍵名和鍵值
$keys = array_keys($normalized);
$values = array_values($normalized);
// 打印查看結果
print_r($keys);
print_r($values);
輸出:
Array
(
[0] => name
[1] => age
[2] => email
)
Array
(
[0] => Bob
[1] => 30
[2] => bob@vv99.net
)
如果你想要基於處理後的鍵和值重新組合數組,可以使用array_combine() :
$cleanedData = array_combine($keys, $values);
print_r($cleanedData);
輸出仍然是一個結構統一、鍵值清晰的數組:
Array
(
[name] => Bob
[age] => 30
[email] => bob@vv99.net
)