И хоть в $result в какой то момент перебора попадает то что там должно было бы оказаться, но первый 'foreach' продолжает дальше перебирать массив и записывает в итоге в $result значение по последнему элементу перебора, а т.к. в $_POST записано 'Багратион', то в сверке с последним $value['title'] = 'Doom' выдает что нету совпадений
напишите вот так:
break(2) // прочитайте про break