現在の位置: ホーム> 最新記事一覧> array_flip()およびarray_map()は、データ構造を変換します

array_flip()およびarray_map()は、データ構造を変換します

M66 2025-05-14

PHPでは、配列は非常に重要なデータ構造です。配列操作の場合、PHPは多くの組み込み関数を提供します。その中には、 array_flip()array_map()が2つの一般的な関数です。これら2つの機能を組み合わせることにより、配列のデータ構造を効率的に変換できます。この記事では、これを達成するためにarray_flip()array_map()を組み合わせて使用​​する方法について詳しく説明します。

array_flip()とは何ですか?

array_flip()関数はPHPに組み込み関数であり、その機能は配列のキーと値を交換することです。この関数は、一連の構造をひっくり返すのに非常に適しています。関数は次のように定義されています。

 array_flip(array $array): array
  • パラメーター:配列$配列を受け入れます。

  • 返品値:新しい配列を返します。ここでは、配列内のキーと値が交換されます。

例:

 $array = ['apple' => 'fruit', 'carrot' => 'vegetable', 'banana' => 'fruit'];
$flipped = array_flip($array);
print_r($flipped);

出力:

 Array
(
    [fruit] => banana
    [vegetable] => carrot
)

ご覧のとおり、 array_flip()は、配列の値を新しいキーとして、元のキーを新しい値として取得します。

array_map()とは何ですか?

array_map()関数は、配列内の各要素にコールバック関数を適用し、新しい配列を返すために使用されます。その定義は次のとおりです。

 array_map(callable $callback, array $array): array
  • パラメーター

    • $ callback :配列の各要素に適用されるコールバック関数。

    • $配列:操作する配列。

  • 返品値:適用されたコールバック関数を含む配列を返します。

例:

 $array = [1, 2, 3, 4, 5];
$squared = array_map(function($item) {
    return $item * $item;
}, $array);

print_r($squared);

出力:

 Array
(
    [0] => 1
    [1] => 4
    [2] => 9
    [3] => 16
    [4] => 25
)

array_flip()array_map()を使用して、配列構造変換を実装します

array_flip()array_map()の組み合わせは、配列の構造をより複雑な変換に変換するのに役立ちます。たとえば、キー値ペアを含む配列の値をキーに変換し、いくつかの処理機能を適用する必要がある場合があります。

サンプルシナリオ:

製品名とその価格を含む配列があるとします。キーと値を交換し、割引を価格に適用したい(10%オフなど)。

コード例:

 $array = [
    'apple' => 100,
    'banana' => 200,
    'cherry' => 300
];

// 使用 array_flip() 値をキーとして受け取ります,値としてキー
$flipped = array_flip($array);

// 使用 array_map() それぞれの価格を作ります9折り畳み
$discounted = array_map(function($price) {
    return $price * 0.9;
}, $flipped);

print_r($discounted);

出力:

 Array
(
    [100] => 90
    [200] => 180
    [300] => 270
)

この例では、 array_flip()を最初に製品価格を新しいキーとして取得し、次にarray_map()関数は各価格を10%オフにして新しいarrayを返します。

アプリケーションシナリオ

  1. キー値のペアを逆にしてマップします。キー値ペアを含む配列がある場合、最初にarray_flip()を使用して配列をフリップし、 array_map()を介して値を処理し、最後に新しい構造を取得できます。

  2. バッチデータ処理の実行:たとえば、割引価格のバッチ計算、テキストの変換、配列の数値形式の変更など。

注意すべきこと

  1. キーユニーク性array_flip()を使用する場合、元の配列の値は一意でなければなりません。そうしないと、同じ値が上書きされるため、一部のデータが失われます。

  2. コールバック関数array_map()を使用する場合、コールバック関数が配列の各要素に適用され、コールバック関数のロジックがニーズに適合していることを確認します。

この記事が、array_flip()array_map()を使用してPHPアレイのデータ構造を変換する方法を理解するのに役立つことを願っています。ご質問がある場合は、お気軽にお問い合わせください!