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() 関数の一般的な応用例をいくつか紹介します。
これは、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 つの配列にマージする必要がある場合は、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 )
配列内のすべての要素の積の計算も、array_reduce() 関数の一般的なアプリケーションの 1 つです。次のように、組み込みの乗算関数を $callback 関数として使用できます。
$numbers = array(1, 2, 3, 4, 5);
$product = array_reduce($numbers , '乗算 ', 1);
関数乗算($a, $b) {
return $a * $b;
}
echo $product; //出力: 120
配列内の要素の文字列連結を行うことも、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
配列内の特定の要素の出現数をカウントする必要がある場合は、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 サイトの他の関連記事を参照してください。