Недавно, друг подсказал мне неплохое решение для работы с массивами в PHP. Это класс, который работает на подобии LINQ в C#3.0 и позволяет делать выборки из массивов с помощью конструкций, которые напоминают SQL. Вот небольшой пример, выборка слов, длина которых меньше 5 символов:

// Create data source
$names = array("John", "Peter", "Joe", "Patrick", "Donald", "Eric");

$result = from('$name')->in($names)
->where('$name => strlen($name) < 5')
->select(’$name’);

Следует отметить, что данное решение работает только с версией PHP 5.2 или выше.
Более подробная информацией по PHPLinq размещена на этом сайте.