現在の位置: ホーム> 最新記事一覧> array_fill_keysとarray_mapの類似点と類似点

array_fill_keysとarray_mapの類似点と類似点

M66 2025-05-14


array_fill_keysとarray_mapの違いと接続は何ですか?

文章:

PHPでは、 array_fill_keysarray_mapは操作配列の一般的な関数ですが、機能と用途は異なります。今日は、これら2つの機能間の違いと接続について説明します。

array_fill_keys関数

array_fill_keys関数は、指定されたキーに従って配列を入力し、値を与えるために使用されます。関数プロトタイプは次のとおりです。

 array_fill_keys(array $keys, mixed $value): array
  • パラメーター説明:

    • $キー:キーを含む配列です。 array_fill_keysは、これらのキーに基づいて新しい配列を入力します。

    • $ value :各キーに割り当てる必要がある値です。

  • 返品値:

    • 指定されたキーと値を含む新しい配列を返します。

  • サンプルコード:

 $keys = ['a', 'b', 'c'];
$value = 1;
$result = array_fill_keys($keys, $value);
print_r($result);

出力:

 Array
(
    [a] => 1
    [b] => 1
    [c] => 1
)

上記のように、 array_fill_keysは指定されたキーを含む配列を作成し、各キーの値は1です。

array_map関数

array_map関数は、配列の各要素にコールバック関数を適用し、新しい配列を返します。関数プロトタイプは次のとおりです。

 array_map(callable $callback, array $array, ...$arrays): array
  • パラメーター説明:

    • $ callback :各要素を処理するコールバック関数です。

    • $ array :処理する配列です。複数の配列を渡すことができ、コールバック関数は各配列の対応する要素を順番に処理します。

  • 返品値:

    • コールバック関数によって処理された各要素を含む新しい配列を返します。

  • サンプルコード:

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

出力:

 Array
(
    [0] => 2
    [1] => 4
    [2] => 6
    [3] => 8
)

上記のように、 array_mapは配列内の各要素にコールバック関数を適用し、その値に2を掛けます。

違いと接続

1。機能の違い:

  • array_fill_keysは、指定されたキーに基づいて配列を作成し、各キーに同じ値を割り当てることです。配列内の要素で動作するのではなく、新しい配列を埋めるだけです。

  • array_mapは、配列内の各要素で動作し、コールバック関数を使用して各要素を変更し、変更された配列を返します。

2。使用法の違い:

  • array_fill_keysは、すでに一連のキーを持っている場合に適しており、それらのキーの均一な値を入力する必要があります。

  • array_mapは、配列内の各要素で何らかの処理を行う必要がある場合に、配列内のデータを変換するために多くの場合使用されます。

3。連絡先:

  • Array_mapを使用して、配列内の各要素を動作させるために使用でき、それにより、コールバック関数を介して配列のコンテンツを変更するのと同様に、アレイの構造に間接的に影響します。 array_fill_keysは、特定のキーと値を使用して新しい配列を構築する方法にさらに焦点を当てています。どちらも配列の処理時に配列の要素が含まれますが、それらの処理方法はアプリケーションシナリオとは異なります。

要約します

  • array_fill_keysは、指定されたキーに従って配列を入力し、同じ値を割り当てるために使用されます。

  • array_mapは、配列内の各要素にコールバック関数を適用するために使用され、処理された新しい配列を返します。

どちらも配列を使用するときに非常に便利ですが、それぞれのフォーカスと使用のシナリオは異なります。適切な関数を選択すると、コードがより簡潔で効率的になります。

上記は、 array_fill_keysarray_map関数の違いと接続の詳細な説明です。これらの2つの機能を理解するのに役立つことを願っています!