PHPでは、アレイは非常に柔軟なデータ構造です。私たちの毎日の開発では、多くの場合、配列のキー名またはキー値を処理する必要があります。今日は、非常に一般的に使用される3つのアレイ関数、 array_change_key_case() 、 array_keys() 、およびarray_values()を見て、複雑なデータ処理要件を実現するためにそれらを結合する方法を学びます。
この関数は、配列内のすべてのキー名を小文字または大文字に変換するために使用されます。その基本的な構文は次のとおりです。
array_change_key_case(array $array, int $case = CASE_LOWER): array
パラメーター説明:
$配列:入力配列。
$ case :optional、 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
)
これらの2つの関数は、それぞれすべてのキー名と配列のすべてのキー値を抽出するために使用されます。
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
)