Какую версию PHP использовать?

Функциональный стиль можно использовать с версии 5.3, когда появился класс Closure. Но лучше использовать PHP7, он быстрее, современнее и позволяет типизировать данные.

PHP, являясь динамическим языком, всегда пытается конвертировать значения неверного типа данных к ожидаемому скалярному типу.

function increment($i) {
return ++$i;
}
echo increment('a'); //выведет b

Подобного неявного приведения аргументов можно избежать включив режим строгого типирования, указав вверху файла:

<?php
declare(strict_types = 1);
Источник – книга «Functional PHP», Luis Atencio
Редактировать на GitHub