PHPでは、 array_combineとarray_columnは、非常に一般的に使用される2つの配列処理機能です。それらはそれぞれ異なる用途を持っていますが、結合すると、非常に強力なデータ再編成関数が可能になります。次に、簡単な例を使用して、これら2つの機能を使用してデータを再編成する方法を示します。
array_combine関数は、新しい連想配列を作成するために使用され、キーは配列の要素であり、値は別の配列の要素です。この関数を使用する場合、2つの配列に同じ数の要素が必要であるため、警告がスローされます。
関数プロトタイプ:
array_combine(array $keys, array $values): array
$キー:新しい配列の鍵として。
$値:新しい配列の値として。
array_column関数は、多次元配列から指定された列のデータを抽出し、配列を返すために使用されます。通常、データベースクエリの結果から特定のフィールドを抽出するために使用される2次元アレイで列を抽出するのに最適です。
関数プロトタイプ:
array_column(array $input, mixed $column_key, mixed $index_key = null): array
$入力:操作する入力配列。
$ column_key :抽出される列のキー名。
$ index_key (オプション):結果配列のインデックスとして使用されるキー名。
従業員の名前、ポジション、およびIDを含む従業員に関する一連のデータがあるとします。このデータを、キーとして従業員のIDと価値として従業員名を持つ連想配列に再編成したいと考えています。
$employees = [
['id' => 1, 'name' => 'Alice', 'position' => 'Developer'],
['id' => 2, 'name' => 'Bob', 'position' => 'Designer'],
['id' => 3, 'name' => 'Charlie', 'position' => 'Manager']
];
従業員IDをキーとして、従業員名を価値として作成して新しい配列を作成したいと考えています。
<?php
// 生データ
$employees = [
['id' => 1, 'name' => 'Alice', 'position' => 'Developer'],
['id' => 2, 'name' => 'Bob', 'position' => 'Designer'],
['id' => 3, 'name' => 'Charlie', 'position' => 'Manager']
];
// 使用 array_column すべての従業員を抽出しますID従業員の名前
$ids = array_column($employees, 'id'); // すべての従業員を抽出しますID
$names = array_column($employees, 'name'); // すべての従業員を抽出します姓名
// 使用 array_combine 組み合わせた ID 和姓名,連想配列を生成します
$employeeNames = array_combine($ids, $names);
// 出力結果
print_r($employeeNames);
?>
Array
(
[1] => Alice
[2] => Bob
[3] => Charlie
)
最初に、Array_Column($ Employees、 'ID')を介してすべての従業員のID列を抽出しました。
次に、すべての従業員の名前の列は、array_column($ employees、 'name')を使用して抽出されます。
最後に、 array_combine($ ids、$ names)を使用して、 idをキーとして、名前を値として使用して新しい連想配列を形成します。
このようにして、さまざまなニーズに応じてデータをすばやく再編成できます。
array_combineとarray_column関数の組み合わせは、2次元配列から特定の列を簡単に抽出し、それらを組み合わせアレイに再結合するのに役立ちます。このアプローチは、特に処理がデータベースクエリまたはその他の多次元配列から生じる場合、データ処理に非常に適しています。これら2つの機能の使用を習得すると、PHPプログラミングがより快適になります。
PHPアレイ操作について詳しく知りたい場合は、公式のPHPドキュメントを参照できます: https://www.php.net/manual/zh/