ホームページ >バックエンド開発 >PHPチュートリアル >PHP8の配列関数:array_reduce()の様々な応用例

PHP8の配列関数:array_reduce()の様々な応用例

王林
王林オリジナル
2023-05-16 17:42:061278ブラウズ

PHP8 の配列関数:array_reduce() のさまざまな応用例

PHP では、配列は非常に重要なデータ型であり、複数の値を格納でき、さまざまな配列を使用できます。関数は演算や処理を実行します。中でも array_reduce() 関数は非常に便利な関数で、配列内のすべての要素を繰り返し計算して 1 つの値を返します。

array_reduce() 関数の構文は次のとおりです。

mixed array_reduce ( array $array , callable $callback [,mixed $initial = NULL ] )

Among $array パラメータは反復計算される配列、$callback パラメータは配列内の各要素に渡される関数、$initial パラメータはアキュムレータの初期値として使用されるオプションの初期値です。 $callback 関数が初めて呼び出されるとき。

array_reduce() 関数は非常に柔軟に使用でき、さまざまなタイプの配列の処理に使用でき、さまざまなニーズに応じてさまざまな $callback 関数を渡すことができます。以下に、array_reduce() 関数の一般的な応用例をいくつか紹介します。

  1. 配列内のすべての要素の合計を計算する

これは、array_reduce() 関数の最も単純なアプリケーションの 1 つであり、配列内のすべての要素の合計を計算するために使用されます。配列。次のように、組み込みの加算関数を $callback 関数として使用できます。

$numbers = array(1, 2, 3, 4, 5);
$sum = array_reduce($numbers , '加算 ', 0);
関数加算($a, $b) {

return $a + $b;

}
echo $sum; //出力: 15

  1. 複数の変換 配列を配列に変換する

複数の配列を 1 つの配列にマージする必要がある場合は、array_reduce() 関数を使用してこれを実現できます。次のように、組み込みの array_merge 関数を $callback 関数として使用できます。

$arr1 = array('a', 'b', 'c');
$arr2 = array(' d' , 'e', 'f');
$arr3 = array('g', 'h', 'i');
$arr = array_reduce(array($arr1, $arr2, $arr3) , 'array_merge', array());
print_r($arr); //出力: Array ( [0] => a [1] => b [2] => ; c [3] => d [4] => e [5] => f [6] => g [7] => h [8] => i )

  1. 配列の計算 配列内のすべての要素の積

配列内のすべての要素の積の計算も、array_reduce() 関数の一般的なアプリケーションの 1 つです。次のように、組み込みの乗算関数を $callback 関数として使用できます。

$numbers = array(1, 2, 3, 4, 5);
$product = array_reduce($numbers , '乗算 ', 1);
関数乗算($a, $b) {

return $a * $b;

}
echo $product; //出力: 120

  1. put in array 要素の文字列連結

配列内の要素の文字列連結を行うことも、array_reduce() 関数の応用です。次のように、組み込みの string_concatenate 関数を $callback 関数として使用できます。

$words = array('hello', 'world', 'php');
$sentence = array_reduce( $words, 'string_concatenate');
function string_concatenate($a, $b) {

return $a . ' ' . $b;

}
echo $sentence; //出力: hello world php

  1. Ask 配列内の特定の要素の出現数を取得する

配列内の特定の要素の出現数をカウントする必要がある場合は、array_reduce() 関数を使用して、これを達成します。次のように $initial パラメータを 0 に設定する必要があることに注意してください:

$letters = array('a', 'b', 'c', 'a', 'c', ' a' , 'd');
$counts = array_reduce($letters, 'count_letters', array('a' => 0, 'b' => 0, 'c' => 0, ' d' => 0));
function count_letters($a, $b) {

if(isset($a[$b])) {
    $a[$b]++;
}
return $a;

}
print_r($counts); //出力: Array ( [a] => ; 3 [b] => 1 [c] => 2 [d] => 1 )

上記の例では、連想配列を使用して各文字の出現数をカウントしています。 $callback関数の場合 $aに$bが存在する場合、$a[$b]の値に1を加算します。

概要

上記は、array_reduce() 関数の一般的なアプリケーション例のほんの一部であり、アプリケーションは柔軟で多様です。 PHP プログラムを作成する場合、さまざまなニーズに応じてさまざまなアプリケーション メソッドを選択し、array_reduce() 関数のさまざまな利点を活用して、コードの効率性と保守性を実現できます。

以上がPHP8の配列関数:array_reduce()の様々な応用例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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