PHPでは、特に配列に複数の多次元配列が含まれている場合、アレイを処理する必要があることがよくあります。特定の列の値を抽出し、それが頻繁に発生する必要があります。今日は、 array_columnとarray_unique関数を組み合わせて、列の列の値をArrayに重複させる方法について説明しましょう。
まず、 Array_Column関数を介して多次元配列から列の値を抽出できます。 array_columnの関数は、指定された列の値を多次元配列に返すことです。これは、データリストに特定の情報を抽出するためによく使用されます。
たとえば、複数のレコードの配列があり、各レコードにはID 、名前、電子メールなどのフィールドがあるとします。そこからすべてのメールアドレスを抽出する必要があります。
<?php
$data = [
['id' => 1, 'name' => 'Alice', 'email' => 'alice@m66.net'],
['id' => 2, 'name' => 'Bob', 'email' => 'bob@m66.net'],
['id' => 3, 'name' => 'Charlie', 'email' => 'alice@m66.net'],
];
$emails = array_column($data, 'email'); // すべてを抽出します email 住所
print_r($emails);
?>
上記のコードを実行した後、出力の結果は次のとおりです。
Array
(
[0] => alice@m66.net
[1] => bob@m66.net
[2] => alice@m66.net
)
次に、 array_unique関数を使用して、抽出された電子メールアドレスを推定します。 array_unique関数は、Array内の複製値を削除し、一意の値のみを保持します。
<?php
$uniqueEmails = array_unique($emails); // 重いものに行きます
print_r($uniqueEmails);
?>
上記のコードを実行した後、出力の結果は次のとおりです。
Array
(
[0] => alice@m66.net
[1] => bob@m66.net
)
ご覧のとおり、 Array_uniqueは重複したalice@m66.netアドレスを正常に削除し、一意のメールアドレスのみを保持しました。
これら2つの機能を組み合わせることにより、多次元配列と重複排除から特定の列を抽出する動作を実装できます。メール列を抽出し、それらを推測する方法を示す完全な例を以下に示します。
<?php
$data = [
['id' => 1, 'name' => 'Alice', 'email' => 'alice@m66.net'],
['id' => 2, 'name' => 'Bob', 'email' => 'bob@m66.net'],
['id' => 3, 'name' => 'Charlie', 'email' => 'alice@m66.net'],
];
$emails = array_column($data, 'email'); // すべてを抽出します email 住所
$uniqueEmails = array_unique($emails); // 重いものに行きます
print_r($uniqueEmails);
?>
最終出力は次のとおりです。