ホームページ  >  記事  >  バックエンド開発  >  PHP8 の配列関数: array_map() の詳細な応用スキル

PHP8 の配列関数: array_map() の詳細な応用スキル

王林
王林オリジナル
2023-05-18 08:06:201546ブラウズ

近年、インターネット産業の急速な発展に伴い、プログラミング言語も常に更新されています。より人気のあるプログラミング言語として、PHP もこの傾向に基づいて開発されています。 PHP8 の最新バージョンとして、組み込み関数ライブラリが更新され、より実用的な機能が提供されました。この記事では、PHP8の配列関数array_map()の詳しい応用スキルを紹介します。

1. array_map() 関数の定義

array_map() 関数は PHP の組み込み関数であり、その定義は次のとおりです。 , array ... $arrays): array

このうち、$callback パラメーターはコールバック関数であり、具体的には次のように定義されます。

callable $callback(mixed ...$ args):mixed

array_map () 関数は、コールバック関数を呼び出して各配列内の対応する要素を操作し、新しい配列の結果を返します。

2. array_map() 関数の使用方法

単一配列の操作
  1. 最初の方法は、単一配列を操作することです。たとえば、要素が [1,2,3] である配列 $a があり、各要素に対して二乗演算を実行したい場合は、次のコードを使用できます。

$a = [ 1 , 2, 3];

function square($n)

{

return $n ** 2;

}

$result = array_map('square', $a);

print_r($ result );

出力結果は [1, 4, 9] です。

複数の配列に対する操作
  1. 2 番目の方法は、複数の配列を操作することです。例は次のとおりです。

$a = [1, 2, 3];

$b = [4, 5, 6];

function add($x, $y)
{

return $x + $y;

}

$result = array_map('add', $a, $b);

print_r($result);

出力結果は [5] 、7、9]。

匿名関数
  1. PHP8 は匿名関数の使用をサポートしているため、匿名関数を使用してコードを簡素化できます。たとえば、上記の例は次のコードで書き換えることができます:

$a = [1, 2, 3];

$b = [4, 5, 6];

$result = array_map( function($x, $y){ return $x $y;}, $a, $b);
print_r($result);

出力結果は [5, 7] 、9]。

多次元配列の処理
  1. array_map() 関数を使用して多次元配列を処理することもできます。たとえば、要素が [[1,2], [3,4], [5,6]] である配列 $my_array があります。各要素を乗算する場合は、次のコードを使用できます:

$my_array = [[1, 2], [3, 4], [5, 6]];

$result = array_map(function ($arr) {

return $arr[0] * $arr[1];

}, $ my_array);

print_r($result);


出力結果は [2, 12, 30] です。

キーと値の処理
  1. array_map() 関数を使用して、キーと値を同時に処理することもできます。たとえば、要素が ['apple'=>1, 'banana'=>2, 'orange'=>3] である連想配列 $my_array があり、各要素を操作したいとします。次のコードを使用します:

$my_array = ['apple'=>1, 'banana'=>2, 'orange'=>3];

$result = array_map(function ( $k, $v) {

return $k . ':' . $v;

}, array_keys($my_array), $my_array);

print_r($result);


出力結果は ['apple:1 '、'バナナ:2'、'オレンジ:3']。

3. array_map() 関数に関する注意事項

配列パラメータの数は同じである必要があります
  1. array_map() 関数を使用する場合、配列パラメータを渡します。数値は同じである必要があります。そうでない場合は、「警告: array_map(): 引数 #N は配列ではありません」というエラーが発生します。

コールバック関数のパラメータの数も同じである必要があります
  1. コールバック関数のパラメータの数は、渡される配列の数と同じである必要がありますそうでない場合、プログラムでエラーが発生します。

4. 概要

array_map() 関数は、PHP8 の非常に実用的な配列関数の 1 つです。コールバック関数の使用を組み合わせることにより、配列内の要素を迅速かつ便利に操作できます。この記事では、array_map() 関数の次の応用スキルを紹介します。

単一配列の操作
  1. 複数の配列の操作
  2. 匿名関数
  3. 多次元配列の処理
  4. キーと値の処理
  5. ##最後に注意すべき点は、array_map() 関数を使用する場合、受信する配列パラメータの数はまた、コールバック関数のパラメータの数も、渡される配列の数と同じである必要があります。

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

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