ホームページ >バックエンド開発 >PHPチュートリアル >配列構造を変更する簡単なメソッド: array_map、array_reduce など。

配列構造を変更する簡単なメソッド: array_map、array_reduce など。

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2023-06-20 16:51:101083ブラウズ

配列はプログラミングで頻繁に使用されるデータ構造であり、配列を処理する場合、配列の構造を変更することが一般的な要件になります。 PHP 言語には、array_map、array_reduce など、この目的を達成するために使用できる組み込み関数が多数あります。この記事では、これらの関数の実際の応用例を紹介します。

array_map

array_map 関数は、PHP の変数関数です (変数関数とは、コード内で変数を関数名として使用できることを意味します)。この関数は、配列内のすべての要素を変換するために使用されます。要素は指定されたコールバック関数によって変換され、新しい配列が返されます。新しい配列内の要素の数と順序は元の配列と一致します。

構文: array_map(callback,array1,array2...)

  • callback: 必須、コールバック関数を指定します。コールバック関数ではパラメータごとに変数名を指定し、return で値を返す必要があります。
  • array1: 必須、配列を指定します。
  • array2...: オプションで、配列を指定します。

例 1:

$a = [1,2,3,4,5];

function square($n)
{
    return $n * $n;
}

$b = array_map("square", $a);

print_r($b);

出力結果: Array ( [0] => 1 [1] => 4 [2] => 9 [3 ] => 16 [4] => 25 )

例 2:

$a1 = [1,2,3];
$a2 = ['one', 'two', 'three'];

function combine($n1, $n2)
{
    return $n1 . $n2;
}

$b = array_map("combine", $a1, $a2);

print_r($b);

出力結果: Array ( [0] => 1one [1] => 2two [2] => 3three )

array_reduce

array_reduce 関数は、コールバック関数を指定して配列内のすべての要素を 1 つずつ反復するために使用され、戻り値を返します。単一の値。

構文: array_reduce (array, callback, [initial_value])

  • array: 必須、配列を指定します。
  • callback: 必須の指定された関数。この関数は、前の反復の結果と現在の要素という 2 つのパラメーターを受け入れます。
  • initial_value: オプションで、論理処理に使用される最初の値を指定します。

例 1:

$a = [1, 2, 3, 4, 5];

$sum = array_reduce($a, function($total, $num){
    return $total + $num;
});

echo $sum;

出力結果: 15

例 2:

$a = ['Hello', 'World', '!'];

$sentence = array_reduce($a, function($sentence, $word){
    return $sentence . ' ' . $word;
});

echo $sentence;

出力結果: Hello World!

概要

array_map 関数と array_reduce 関数は非常に実用的な配列トラバーサル関数で、ニーズに合わせて配列の構造を素早く変更するのに役立ちます。誰もが自分のニーズに基づいて開発に柔軟に適用し、実用化することができます。

以上が配列構造を変更する簡単なメソッド: array_map、array_reduce など。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。