Есть файл для реализации многоязычности, в котором содержаться пары ключ(слово на англиском) => перевод. Все работает нормально, но вот с одним из ключей возникла проблема - 'Brighton & Hove' .
Это показывает что они не равны, хоть $word и $key выводят одно и тоже, :
if ('Brighton & Hove' == $word) { echo $key . '-' . $word; } //ничего не выводит
if ('Brighton & Hove' == $key) { echo $key . '-' . $word; } // выводит
$word берется и бд, которая в кодировке utf-8, а $key из файла с такойже кодировкой. В чем тут может быть проблема?
Полный код:
function __lang($word, $lang) {
include ('lang.php');
$arr_words = $$lang;
$word = trim($word);
foreach ($arr_words as $key => $value){
$key = trim($key);
if ('Brighton & Hove' == $word) { echo $key . '-' . $word; } //ничего не выводит
if ('Brighton & Hove' == $key) { echo $key . '-' . $word; } // выводит
if ($key == $word) {
return $value; // вернет перевод, если ключ(слово на англиском) и слово, которое нужно перевести равны
}
}
return '<span style="color: darkred;">Нет такого слова</span>';
}