[55]
08 мая 2012, 19:12

Строку в массив символов

Привет!

Как в PHP преобразовать строку в массив символов? Нужно что бы каждый символ строки был элементом массива.

$str = "строка символов"; $arr = explode('', $str);

Это не помогло. Выдает ошибку, что разделитель не может быть пустым местом.

Warning: explode(): Empty delimiter in

#php

Комментарии (3)
systes
08 мая 2012, 19:35
#

К символу строки и так можно обратиться, как к элементу массива.

$str = "строка символов";

echo $str[0]; // с

Конечно если вы работаете с юникодом, то такой подход не будет работать с русскими символами. Но можно поступить вот так:

$str = "строка символов";

$_str = $str;
$arr = array();
$str_len = mb_strlen($str);
while($str_len)
{
$arr[] = mb_substr($_str, 0, 1);
$_str = mb_substr($_str, 1, $str_len);
$str_len = mb_strlen($_str);
}

echo $arr[0]; // с

lampa
14 Мар 2014, 17:51
#

Из строки юникода получить массив символов ещё так можно:

$str = "строка символов";

preg_match_all('/./su', $str, $chars);
echo $chars[0]; //c
lampa
14 Мар 2014, 17:54
#

И ещё так:

$str = "строка символов";
$chars = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
echo $chars[0]; //c

Добавить комментарий

Войдите, чтобы написать о чем-нибудь...
Вход Регистрация
Web.onRails
Здесь вы можете спросить или написать обо всём, что касается Веб-разработки.
написать о чем-нибудь...
Метки: