Что то типа $var{-1}
Форум → Программирование → PHP для идиотов → Помогите нубу взять последний символ из строки
Помогите нубу взять последний символ из строки
Страницы: ← Следующая страница →
-
4 октября 2010 г. 4:32, спустя 1 минуту 52 секунды
НУжно взять последний сивол из строки. Но хочется как то по красивее, чемсабстромстрпосом.
Что то типа $var{-1} -
4 октября 2010 г. 4:30, спустя 23 часа 58 минут 8 секунд
$str[mb_strlen($str) - 1] ??Спустя 115 сек.или попробуй $symb = array_pop($str); короче, я других способов не знаю -
4 октября 2010 г. 4:33, спустя 2 минуты 25 секунд
Все это не лучше стрпоса.
ЗЫ В питтоне вот так:
=)var[-1]
-
-
4 октября 2010 г. 4:44, спустя 9 минут 31 секунду
ЗЫ В питтоне вот так:
это всего лишь синтаксис языка, ты уверен что за этим кроется не сабстр? :)Сапожник без сапог -
4 октября 2010 г. 4:48, спустя 4 минуты 40 секунд
phpdude, да не важно что за ним. Важн, что синтаксис удобный.Спустя 19 сек.И там нет str_ и str =) -
4 октября 2010 г. 5:47, спустя 58 минут 41 секунду
$str[mb_strlen($str) - 1]
mb_* работает с многобайтными кодировками, а [] с байтами. -
4 октября 2010 г. 5:51, спустя 4 минуты 19 секунд
один хуй непонятно чего strpos не катит. Ведь по сути логики в var[-1] (имею ввиду сам индекс "-1") не больше чем в применении функции, ибо -1 - это никак не логический конец строки, но мы привыкли его так применять.Спустя 13 сек.
один хуй непонятно чего strpos не катит. Ведь по сути, логики в var[-1] (имею ввиду сам индекс "-1") не больше чем в применении функции, ибо -1 - это никак не логический конец строки, но мы привыкли его так применять. -
5 октября 2010 г. 5:27, спустя 23 часа 35 минут 38 секунд
ну если не нравится стрпос, то можно и без него :)
<?
$var="string";
function poslednij_simvol_stroki($string){
//считаем количество символов в строке (т.е., длину строки)
//для этого сначала вставляем после каждого символа (кроме последнего) какую-нибудь уникальную последовательность, которой нет в строке, например ||{{||
$string=preg_replace("/(.)/s","\\1||{{||",$string); //Добавляем последовательность после каждой буквы…
$string=preg_replace("/\\|\\|{{\\|\\|$/s","",$string); //… и удаляем после последней
//затем переводим строку в массив, разбивая ее по последовательности ||{{||
$massiv=explode("||{{||",$string);
//ну и считаем, сколько в массиве элементов
for($i=1; next($massiv);) $i++;
//теперь в $i - длина нашей строки
//переворачиваем наш массив
$massiv2=array();
for($n=$i-1;$n>-1;$n–) $massiv2[]=$massiv[$n];
//склеиваем перевернутый массив в две строки: в одной строке будет первый элемент массива, в другой - все остальные
$str2=null;
for($m=0;$m<$i;$m++){
if($m==0) $str1=$massiv2[$m];
else $str2.=$massiv2[$m];}
//так как все остальные буквы, кроме последней, не нужны, удаляем вторую строку…
unset($str2);
//… и возвращаем первую строку
return $str1;}
echo poslednij_simvol_stroki($var); -
-
5 октября 2010 г. 5:35, спустя 3 минуты 20 секунд
за это и люблю программирование. Любую задачу можно решить разными способами. -
5 октября 2010 г. 5:38, спустя 3 минуты 13 секунд
zaxar, да не с этого, а с того, что ты появился))) -
-
-
5 октября 2010 г. 7:23, спустя 15 минут 29 секунд
Можно ещё немного изврата:$myStr = 'pissflaps';
$myStr = str_split($myStr);
echo $myStr[0];Спустя 67 сек.Ой бля не заметил, нада последний. ща чёнить придумаю
Страницы: ← Следующая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!