Всю голову сломал. Распарсеный текст прошедший через
trim(strtolower(preg_replace("/\s+/, "", $value)));
на выходе получается строка с непонятным пробельным символом в конце строки. И размер строки больше на 2 байта
string(38) "среднеемедицинское "
string(36) "среднеемедицинское"
Где косяк?