PHP возвращает неправильный ответ

86
06 февраля 2022, 15:00
<?php
$city = "В городе Житомире проживает много людей.";
echo strlen($city);

Почему то PHP-скрипт выдаёт результат: 74. Не понимаю почему.

Answer 1

Функция strlen возвращает количество байт, а не число символов в строке. Для utf-8 требуется от 1 до 4 байта на символ.

Используйте функцию iconv_strlen - она требует указания кодировки, но вернёт именно количество символов.

Answer 2
$city = "В городе Житомире проживает много людей.";
echo mb_strlen($city, 'UTF-8');//кодировку свою только поставьте

https://www.php.net/manual/ru/function.mb-strlen.php

mb_ и iconv по разному с символами работают в некоторых случаях, например при обработке битых символов

READ ALSO
проблема с поиском на сайте

проблема с поиском на сайте

Я сделал форму поиска и он благополучно работает если ввести одно слово, но если написать 2 слово через пробел то нечего не работает

84
Как из ФИО сделать урезанную версию?

Как из ФИО сделать урезанную версию?

Помогите решить задачкуНе силен в регулярных выражениях

149
Как сделать поиск по условию

Как сделать поиск по условию

Мне нужно что бы выводились только те пользователи которые попадают в условияНапример если да две даты с(01

100
Спарсить картинки с яндекса ( PHP + simple html dom parser)

Спарсить картинки с яндекса ( PHP + simple html dom parser)

Нужно: Спарсить первую картинку с сервиса https://yandexkz/images при помощи PHP и библиотеки simple html dom parser

152