Как удалить первый символ строки в PHP?
$str=':this is a applepie :) ';
Как использовать PHP удалите первый символ :
11 ответов
удалить все :
С начала строки, вы можете использовать ltrim:
$str = '::f:o:';
$str = ltrim($str, ':');
var_dump($str); //=> 'f:o:'
на substr()
функция, вероятно, поможет вам здесь:
$str = substr($str, 1);
строки индексируются, начиная с 0, и этот второй параметр функции принимает cutstart. Так что сделайте это 1, и первый символ исчезнет.
Exec время для 3 ответов:
удалите первую букву, заменив корпус
$str = "hello";
$str[0] = "";
// $str[0] = false;
// $str[0] = null;
// replaced by �, but ok for echo
время Exec для 1.000.000 тестов:0.39602184295654
С
удалите первую букву С substr ()
$str = "hello";
$str = substr($str, 1);
время Exec для 1.000.000 тестов:5.153294801712
С
удалите первую букву С помощью ltrim ()
$str = "hello";
$str= ltrim ($str,'h');
время Exec для 1.000.000 тестов:5.2393000125885
С
удалить первую букву С код preg_replace()
$str = "hello";
$str = preg_replace('/^./', '', $str);
время Exec для 1.000.000 тестов:6.8543920516968
С
$str = substr($str, 1);
посмотреть PHP руководство Пример 3
echo substr('abcdef', 1); // bcdef
Примечание:
unset($str[0])
не работает поскольку вы не можете снять часть строки: -
Fatal error: Cannot unset string offsets
обновление
после дальнейших тестов я больше не рекомендую использовать это. Это вызвало проблему для меня при использовании обновленной строки в запросе MySQL и изменении на substr
Исправлена проблема. Я думал об удалении этого ответа, но комментарии предполагают, что это быстрее, так что кто-то может использовать его. Вы можете найти обрезку обновленной строки решает проблемы длины строки.
иногда вам не нужна функция:
$str[0] = '';
для пример:
$str = 'AHello';
$str[0] = '';
echo $str; // 'Hello'
этот метод изменяет существующую строку, а не создавать еще один.
принято отвечать:
$str = ltrim($str, ':');
работает, но удалит несколько :
когда есть более одного в начале.
$str = substr($str, 1);
удалит любой символ с самого начала.
,if ($str[0] === ':')
$str = substr($str, 1);
отлично работает.
обрезает вхождения каждого слова в массиве с начала и конца строки + пробелы и, возможно, дополнительные одиночные символы в соответствии с обычным trim ()
<?php
function trim_words($what, $words, $char_list = '') {
if(!is_array($words)) return false;
$char_list .= " \t\n\r\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 ,-(strlen($str)-1));
может тоже внести свой вклад с ответами.
вы можете использовать функцию sbstr ()
$amount = 1; //where $amount the the amount of string you want to delete starting from index 0
$str = substr($str, $amount);