ФорумПрограммированиеPHP для идиотов → Помогите нубу взять последний символ из строки

Помогите нубу взять последний символ из строки

  • VaseninM

    Сообщения: 2416 Репутация: N Группа: Адекваты

    Spritz 4 октября 2010 г. 4:32, спустя 1 минуту 52 секунды

    НУжно взять последний сивол из строки. Но хочется как то по красивее, чем сабстромстрпосом.
    Что то типа $var{-1}
  • krasun

    Сообщения: 1370 Репутация: N Группа: Джедаи

    Spritz 4 октября 2010 г. 4:30, спустя 23 часа 58 минут 8 секунд

    $str[mb_strlen($str) - 1] ??
    Спустя 115 сек.
    или попробуй $symb = array_pop($str); короче, я других способов не знаю
  • VaseninM

    Сообщения: 2416 Репутация: N Группа: Адекваты

    Spritz 4 октября 2010 г. 4:33, спустя 2 минуты 25 секунд

    Все это не лучше стрпоса.
    ЗЫ В питтоне вот так:
    var[-1]
    =)
  • artoodetoo

    Сообщения: 5139 Репутация: N Группа: в ухо

    Spritz 4 октября 2010 г. 4:34, спустя 1 минуту 44 секунды

    хорошо там, где нас нет
    ιιlllιlllι унц-унц
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 4 октября 2010 г. 4:44, спустя 9 минут 31 секунду

    ЗЫ В питтоне вот так:

    это всего лишь синтаксис языка, ты уверен что за этим кроется не сабстр? :)
    Сапожник без сапог
  • VaseninM

    Сообщения: 2416 Репутация: N Группа: Адекваты

    Spritz 4 октября 2010 г. 4:48, спустя 4 минуты 40 секунд

    phpdude, да не важно что за ним. Важн, что синтаксис удобный.
    Спустя 19 сек.
    И там нет str_ и str =)
  • vasa_c

    Сообщения: 3127 Репутация: N Группа: в ухо

    Spritz 4 октября 2010 г. 5:47, спустя 58 минут 41 секунду

    $str[mb_strlen($str) - 1]

    mb_* работает с многобайтными кодировками, а [] с байтами.
  • Givi

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz 4 октября 2010 г. 5:51, спустя 4 минуты 19 секунд

    один хуй непонятно чего strpos не катит. Ведь по сути логики в var[-1] (имею ввиду сам индекс "-1") не больше чем в применении функции, ибо -1 - это никак не логический конец строки, но мы привыкли его так применять.
    Спустя 13 сек.

    один хуй непонятно чего strpos не катит. Ведь по сути, логики в var[-1] (имею ввиду сам индекс "-1") не больше чем в применении функции, ибо -1 - это никак не логический конец строки, но мы привыкли его так применять.
  • zaxar

    Сообщения: 33 Репутация: N Группа: Кто попало

    Spritz 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);
  • Абырвалг

    Сообщения: 6476 Репутация: N Группа: Джедаи

    Spritz 5 октября 2010 г. 5:31, спустя 4 минуты 10 секунд

    ебаться в рот
  • zaxar

    Сообщения: 33 Репутация: N Группа: Кто попало

    Spritz 5 октября 2010 г. 5:35, спустя 3 минуты 20 секунд


    за это и люблю программирование. Любую задачу можно решить разными способами.
  • Sinkler

    Сообщения: 8096 Репутация: N Группа: в ухо

    Spritz 5 октября 2010 г. 5:38, спустя 3 минуты 13 секунд

    zaxar, да не с этого, а с того, что ты появился)))
  • zaxar

    Сообщения: 33 Репутация: N Группа: Кто попало

    Spritz 5 октября 2010 г. 5:39, спустя 1 минуту 10 секунд

    Sinkler, спс :)
  • arvitaly

    Сообщения: 292 Репутация: N Группа: Адекваты

    Spritz 5 октября 2010 г. 7:08, спустя 1 час 28 минут 50 секунд

    Zahar, дай тоже этого чо ты куришь
  • pissflaps

    Сообщения: 148 Репутация: N Группа: Кто попало

    Spritz 5 октября 2010 г. 7:23, спустя 15 минут 29 секунд

    Можно ещё немного изврата:
    $myStr = 'pissflaps';
    $myStr = str_split($myStr);
    echo $myStr[0];
    Спустя 67 сек.
    Ой бля не заметил, нада последний. ща чёнить придумаю

Пожалуйста, авторизуйтесь, чтобы написать комментарий!