Вы можете использовать функцию sbstr ()

$str=':this is a applepie :) ';

ользоватьсяPHPУдалить первый символ:

 Kunal Surana15 февр. 2016 г., 12:50
использовать substr ($ str, 1);
 Gordon09 янв. 2011 г., 12:48
 Gordon09 янв. 2011 г., 12:48

Ответы на вопрос(11)

пробел и, возможно, дополнительные одиночные символы в соответствии с обычным trim ()

<?php
function trim_words($what, $words, $char_list = '') {
    if(!is_array($words)) return false;
    $char_list .= " \t\n\r\0\x0B"; // default trim chars
    $pattern = "(".implode("|", array_map('preg_quote', $words)).")\b";
    $str = trim(preg_replace('~'.$pattern.'$~i', '', preg_replace('~^'.$pattern.'~i', '', trim($what, $char_list))), $char_list);
    return $str;
}

// for example:
$trim_list = array('AND', 'OR');

$what = ' OR x = 1 AND b = 2 AND ';
print_r(trim_words($what, $trim_list)); // => "x = 1 AND b = 2"

$what = ' ORDER BY x DESC, b ASC, ';
print_r(trim_words($what, $trim_list, ',')); // => "ORDER BY x DESC, b ASC"
?>

Вот код

$str = substr($str, 1); 

echo $str;

Выход:

this is a applepie :)

Код хорошо работает для меня.

$str = substr($str ,-(strlen($str)-1));

Может быть, помочь с ответами тоже.

 anru 26 окт. 2015 г., 03:14
этот не работает с одиночной символьной строкой: как "а"
 Claudionor Oliveira12 нояб. 2015 г., 13:24
Вы правы =) Итак, поверьте, что возможным решением было бы проверить, прежде чем он содержит только один символ. Например: $ str = strlen ($ str)> 1? substr ($ str, - (strlen ($ str) -1)): $ str; Или $ str = strlen ($ str)> 1? substr ($ str, - (strlen ($ str) -1)): ''; потому что идея состоит в том, чтобы удалить последний символ, если у вас есть только один ...: P

Удалить первую букву, заменив корпус

$str = "hello";
$str[0] = "";
// $str[0] = false;
// $str[0] = null;
// replaced by �, but ok for echo

Время выполнения для 1.000.000 тестов:0.39602184295654 сек

Удалите первую букву с помощью substr ()

$str = "hello";
$str = substr($str, 1);

Время выполнения для 1.000.000 тестов:5.153294801712 сек

Удалите первую букву с помощью ltrim ()

$str = "hello";
$str= ltrim ($str,'h');

Время выполнения для 1.000.000 тестов:5.2393000125885 сек

Удалите первую букву с помощью preg_replace ()

$str = "hello";
$str = preg_replace('/^./', '', $str);

Время выполнения для 1.000.000 тестов:6.8543920516968 сек

 Ian07 авг. 2014 г., 17:44
Я только что попробовал$str[0] = ''; решение и этоне работай. хорошо, однако, если вы планируете использовать переменную, например, для сравнения> или же< это не сработает. Это по-прежнему считается `` как + `например$str = 'hello'; $str[0] = ''; var_dump($str); // string(5) 'ello'
 rybo11120 мар. 2014 г., 00:16
Благодарю. Смотрите мое обновление, хотя. Это вызвало проблему при использовании обновленной строки в запросе SQL.
 ina04 янв. 2017 г., 14:00
требуется время для оценки + trim ()
 Josef Kufner24 апр. 2015 г., 19:18
Это не работает. Позиция «удален» заменяется нулевым байтом, поэтому вместо «привет» вы получаете «\ 0hello».
 Syed Qarib08 мар. 2015 г., 08:45
@Ian: я сталкивался с той же проблемой при извлечении записей из API с помощью ключевого слова, пыталсяvar_dump($keyword) который показывал предыдущую длину символа .. затем я попытался обрезать ключевое слово, а затем он работал нормальноvar_dump(trim($keyword)).. Надеюсь, это поможет кому-то .. :)

substr() Функция, вероятно, поможет вам здесь:

 

Строки индексируются, начиная с 0, и второй параметр этой функции принимает начало отсечения. Так что сделайте это 1, и первый символ исчезнет.

 anru 26 окт. 2015 г., 03:20
это неправильная реализация, она не работает с односимвольной строкой "a". если вы попробуете односимвольную строку, substr вернет логическое значение
 rybo11115 февр. 2016 г., 17:18
@anru Руководство указывает, что если длина строки равна параметру start, будет возвращена пустая строка. До версии 7,false был возвращен. Таким образом, вам нужно проверить, равны ли они, если это не то поведение, которое вы хотите.
 Thomas Jensen17 июн. 2012 г., 13:22
Знать о юникоде Если вы имеете дело с произвольной строкой (например, «Ål <- danish for eel»), вам следует использовать mb_substr и указать кодировку.

Принятый ответ:

$str = ltrim($str, ':');

работает, но удалит несколько: когда есть больше чем один в начале.

$str = substr($str, 1);

удалит любого персонажа с самого начала.

Тем не мение,

if ($str[0] === ':')
    $str = substr($str, 1);

работает отлично.

Вы можете использовать функцию sbstr ()

$amount = 1;   //where $amount the the amount of string you want to delete starting  from index 0
$str = substr($str, $amount);

использованиезиЬзЬг:

$str = substr($str, 1); // this is a applepie :)
Решение Вопроса

Удалить каждый: с начала строки, вы можете использоватьLTRIM:

$str = '::f:o:';
$str = ltrim($str, ':');
var_dump($str); //=> 'f:o:'
 Cody Django06 апр. 2017 г., 00:19
обратите внимание, что это предназначено только для отдельных символов. ltrim обрежет все символы в предоставленной строке:ltrim('prefixprefix_postfix', 'prefix') результаты в'_postfix';
 CoR20 нояб. 2013 г., 15:02
Обратите внимание, что lrtim удалит все:::::, Иногда это нежелательное поведение.
Обновить

о вызвало проблему для меня при использовании обновленной строки в запросе MySQL и изменении наsubstr исправил проблему. Я думал об удалении этого ответа, но комментарии предполагают, что он как-то быстрее, так что кто-то может его использовать. Вы можете найти, что обрезка обновленной строки решает проблемы длины строки.

Иногда вам не нужна функция:

$str[0] = '';

Например:

$str = 'AHello';
$str[0] = '';
echo $str; // 'Hello'

Этот метод изменяет существующую строку, а не создает другую.

 Emanuil Rusev16 янв. 2014 г., 20:21
Кажется, это тоже быстрее.
 rybo11117 янв. 2014 г., 16:11
@EmanuilRusev Мне было бы интересно, если бы вы могли предоставить некоторые статистические данные, поскольку я добавлю к ответу.
 Emanuil Rusev17 янв. 2014 г., 15:14
Я имею в виду, что это работает быстрее.
 thoughtrepo12 мар. 2014 г., 18:16
Должен быть осторожен с этим. Код ниже выводит bool (false). $ foo = 'book'; $ bar = 'book'; $ bar = substr ($ bar, 1); $ foo [0] = ''; var_dump ($ foo === $ bar);
 rybo11117 янв. 2014 г., 00:27
@EmanuilRusev как так? Просто любопытно, если ты имеешь в виду, что он быстрее печатается или работает быстрее.
$str = substr($str, 1);

ВидетьPHP инструкция, пример 3

echo substr('abcdef', 1);     // bcdef

Примечание:

unset($str[0]) 

не будет работать так как вы не можете удалить часть строки: -

Fatal error: Cannot unset string offsets

Ваш ответ на вопрос