Functional Programming in PHP · 2nd Edition

Learn advanced and powerful functional programming techniques in your favourite language.

Functional Programming in PHP · Second Edition

What's in the book?

  1. Twice the content of the first edition
  2. Updated for PHP 7 and HHVM
  3. Tips for implementation in the real world
  4. Tooling, libraries and evented programing
  5. Pipelines, pattern matching and flat map
  6. Monads, applicatives and functors
  7. λ functions, composition and currying

Buy the book

(Print, Kindle, ePub, Mobi and PDF)

Why should everyone else have all the fun? PHP can easily be functional too!

It is fair to say that many programmers believe power programming techniques are not possible with PHP in part due to an infamous legion of detractors.

This book will not only dispel those myths, but also show you how to push PHP to it's limits by programming in a functional style.

Subscribe for updates

Follow @FunctionalPHP on Twitter.

Who's it for?

This book is for anyone that has an interest in functional programming or PHP as an advanced programming language.

If you are curious or have never even heard of functional programming before then this is the gentle introductory text you have been looking for. Equally it serves those seeking to exploit the advanced functional concepts such as monads in a PHP context.

You do not have to be running the latest bleeding edge build of PHP to enjoy the book and make use of all the techniques. It is a practical guide that can be implemented with PHP 5.4 whilst highlighting the syntactic sugar and functionality available in later releases.

Already read the book?

Firstly, thank you for buying the book and for taking the time to read it!

I would be really grateful it if you could spare a moment to email me any feedback you may have:


Functional PHP talk

I gave a brief and gentle introduction to functional programming at PHP Hampshire the slides and some of my notes are available online for closer inspection and review.

UTF-8 characters

In recent versions of PHP developers can use multi-byte (UTF-8) characters as function names. This list allows a copy and paste of a few common characters into your editor.


The known errata can be found on the errata page. If you find an issue in the book please email

First edition

Looking for the first edition website? See the First Edition archive.

Subscribe for updates

Follow @FunctionalPHP on Twitter.

About me