はじめに 巷ではHaskellやScala, F#といった関数型言語が流行りつつありますね。 PHPでも5.3以降、ラムダやクロージャといった、関数型言語がもつ強力な機能が導入されてきています。 とはいえ、 「PHPで関数型ってできんの?」「そもそも関数型ってどんなだよ!」って思いますよね。 というわけで、やってみました。 取り扱う例題 1000未満の自然数のうち、3の倍数 もしくは 5の倍数 である数について、その総和を求めよ Project Euler の問題1をお借りしました。 Project Euler(英語) Problem 1 – PukiWiki(Project Euler – PukiWiki内) 手続き的コーディング <?php function projectEulerProblem1() { // 1000未満の自然数を持つ配列 $array_N_below_