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

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

  • VaseninM

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    $str[mb_strlen($str) - 1]

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

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

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

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

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

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

    Spritz 5 октября 2010 г. 8:27, спустя 23 часа 35 минут 38 секунд

    ну если не нравится стрпос, то можно и без него :)


    <?
    $var=&quot;string&quot;;
    function poslednij_simvol_stroki($string){

    //считаем количество символов в строке (т.е., длину строки)

    //для этого сначала вставляем после каждого символа (кроме последнего) какую-нибудь уникальную последовательность, которой нет в строке, например ||{{||

    $string=preg_replace(&quot;/(.)/s&quot;,&quot;\\1||{{||&quot;,$string); //Добавляем последовательность после каждой буквы…
    $string=preg_replace(&quot;/\\|\\|{{\\|\\|$/s&quot;,&quot;&quot;,$string); //… и удаляем после последней

    //затем переводим строку в массив, разбивая ее по последовательности ||{{||

    $massiv=explode(&quot;||{{||&quot;,$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);
  • Абырвалг

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

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

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

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

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

    действительно, ебануться о_О
  • zaxar

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

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

    действительно, ебануться о_О


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

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

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

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

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

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

    Sinkler, спс :)
  • arvitaly

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

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

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

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