This function performs logical operations on arrays. It can combine arrays or find their intersection (via eval).
Функция осуществляет логические операции с элементами массивов. В частности, операции объединения ( || ) или перессечения ( && ) массивов. Можно использовать сколько угодно сложно выражение, в том числе, со скобками (до 20 уровней вложенности скобок). Например, есть логическое выражение
($a[0] || $a[1]) && $a[2]
где $a[0], $a[1], $a[2] - тоже массивы
Это означает, что требуется объединить (слить вместе в единый массив) элементы массовов $a[0] и $a[1], а затем с результатом объединения сделать пересечение c массивом $a[2]. Для этой цели используются стандартные функции РНР array_merge() и array_intersect(). Но, иногда бывают ситуации, когда удобнее записать массивы в виде логического выражения и его уже сразу оценить, получить результат. Такое бывает нужно, например, при анализе сразу нескольких (если их - много) массивов с целью - найти имеющиеся в них общие элементы и/или объединить их. Можно, конечно, реализовать соответствующую логику для этого. но, как мне кажется, эта функция существенно упрощает данную задачу.