Вот есть припусти такой код.
$str = 'Это строка';
echo $str[1];
Выведется какае-то ересь.Подскажите пожалуйста как сделать чтобы выводило нормальные символы.
СТРОКА ЭТО НЕ МАССИВ. Нельзя просто так взять и обратиться к отдельному символу строки.
Используйте функции explode или str_split
Например:
$str = 'hello';
$char_array = explode('', $str);
print $char_array[1]; //e
echo mb_substr($string, 0, 1);
В PHP 5.5 такая конструкция посимвольного вывода $str[1]
станет возможной.
А пока,
$str = 'abc de';
$i = 0;
do {
echo $str{$i} , '<br/>';
++$i;
} while (isset($str{$i}));
Возможны проблемы с выводом кириллических символов, как, впрочем, и с использованием str_split
.
Так что, вариант, который предложил @KryDos выглядит предпочтительнее.
$str = 'hello';
$char_array = explode('', $str);
print $char_array[1]; //e
Не понимаю, как можно использовать это, когда с помощью explode
можно разбить строку по словам на массив, но не слово по буквам. Разделитель должен быть в любом случае, хотя бы пробел, но он ни в коем случае не должен быть пустым.
Попробуйте так:
$str = 'Это строка';
echo mb_substr($str, 0, 1, 'UTF-8');
// Получение первого символа строки
$str = 'This is a test.';
$first = $str[0];
// Получение третьего символа строки
$third = $str[2];
С поддержкой кириллицы:
$arChar = preg_split('/(?<!^)(?!$)/u', $string);
print_r($arChar);
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Имеется файл scriptphp в нём определенный код на выборку с бд и добавление полученных данный в массив, но для примере я возьму лишь переменную,...
Помогите, пожалуйста, с данным препятствием на пути к истине) Добавлять в свою таблицу из формы я научился (по ссылке https://ilyautru/xpdo/adding-editing-and-deleting-custom-objects/...
Не могу понять в чем проблемаПросто не компилируется данный код:
В этом отрывке кода не компилируется erase