記入日:2023-02-25 編集日:2023-02-25
SQL見るだけクエリ。今回もPHPの機能ですが、array_map関数と無名関数(callback)について考えてみようと思います。
この記事を読むと(約5分)
array_map関数と無名関数(callback)の基本的な使い方が理解できます。
array_map関数は、
配列の全要素に対して、指定した関数を適用して新しい配列を作る関数です。
第一引数にコールバック関数を、第二引数以降に対象の配列を設定します。
コールバック関数は、配列の要素の数だけ呼び出されます。
// 配列の各要素に2倍する関数 function double($x) { return $x * 2; } // 配列を作成 $a = array(1, 3, 5, 7); // array_mapで配列の各要素にdouble関数を適用する $b = array_map('double', $a); // 結果を表示 print_r($b); // Array ( [0] => 2 [1] => 6 [2] => 10 [3] => 14 )
array_map関数は、複数の配列も扱えます。
その場合は、コールバック関数は各配列から同じキーの要素を受け取ります。
// 配列の各要素を足す関数 function add($x, $y) { return $x + $y; } // 配列を作成 $a = array(1, 3, 5); $b = array(2, 4, 6); // array_mapで配列の各要素にadd関数を適用する $c = array_map('add', $a, $b); // 結果を表示 print_r($c); // Array ( [0] => 3 [1] => 7 [2] => 11 )
array_map関数では、
配列の各要素に対してコールバック関数を適用して新しい配列を作ります。
その際に、無名関数を使うと、コールバック関数をその場で定義できます。
無名関数は、関数名のない関数のことです。
$a = array(1, 3, 5, 7); // 無名関数を使って配列の各要素に2倍する $b = array_map( function($x) { return $x * 2; }, $a ); print_r($b); // Array ( [0] => 2 [1] => 6 [2] => 10 [3] => 14 )
PHP7.4以降では、無名関数のショートハンド(短縮記法)も使えます。
$a = array(1, 3, 5, 7); // ショートハンドで同じことができる $b = array_map(fn($x) => $x * 2, $a); print_r($b); // Array ( [0] => 2 [1] => 6 [2] => 10 [3] => 14 )
無名関数は、クロージャとも呼ばれ、親のスコープから変数を引き継ぐことができます。
SQLの使いどころ
サイトに大量の情報を掲載することは、ユーザーにとってとても便利なことです。しかし、情報が多すぎると、目的の情報を見つけるのが困難になります。そのため、SQLを使用することで、情報を効率的に管理することができます。
SQLを使用することで、データベース内の情報を検索したり、フィルタリングしたりすることができます。これにより、ユーザーは目的の情報をスムーズかつ簡単に見つけることができます。
また、SQLを使用することで、データを集計したり、統合したりすることもできます。これにより、ユーザーはさまざまな視点から情報を分析することができます。つまり、サイトに多くの情報を掲載することが重要である一方で、その情報を効率的かつ簡単に管理することが求められる場合には、SQLが不可欠であるといえます。
KK
機械工学を専攻。工業デザイナーとして、国内及び海外の自動車・搬送ラインの設計などに従事した後、2003年にウェブシステム会社を設立。UI設計やウェブシステムの開発、DX化のディレクションなどを行っています。