Член массива латинской строки в php 'in_array' не сравнивается с той же отдельной латинской строкойPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Член массива латинской строки в php 'in_array' не сравнивается с той же отдельной латинской строкой

Сообщение Anonymous »

Я пытаюсь выяснить, встречается ли строка в массиве, используя PHP «in_array» (PHP 8.9.3). Массив содержит строки с диакритическими знаками. Строка сравнения та же. Результат «ложь»: НЕ НАЙДЕНО. Я использовал scandir для настройки массива и получил строку для поиска из MySQL [5.7.44], где таблица CHARSET=utf8mb3. Примечание. Я использую MacOS Sequoia 15.0.1 на чипе M3, если это актуально...

Код: Выделить всё

$test_dir = scandir('../test_dir');
$item = $pdo->query("SELECT `preview` FROM `HIKES` WHERE `indxNo`='344';")
->fetch(PDO::FETCH_ASSOC);
$preview = $item['preview'];
if (in_array($preview, $test_dir)) {
echo "FOUND";
} else {
echo "NOT FOUND";
}
Содержимое test_dir (как указано в $test_dir — код не показан):

Код: Выделить всё

.
..
Caña81e740.jpg
Cañaf77722.jpg
Cañoa9c7c7.jpg
calderon.jpg
canada.jpg
И строка, полученная из базы данных:

Код: Выделить всё

Cañoa9c7c7.jpg
Результат: «НЕ НАЙДЕНО»
Я понимаю, что можно преобразовать все строки, чтобы удалить диакритические знаки, но это кажется чрезмерным. Есть ли лучшее решение?

Подробнее здесь: https://stackoverflow.com/questions/791 ... tand-alone
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»