$str=':this is a applepie :) ';
Как использовать PHP , удалить первый символ:
$str=':this is a applepie :) ';
Как использовать PHP , удалить первый символ:
Ответы:
Чтобы удалить каждый :
из начала строки, вы можете использовать ltrim :
$str = '::f:o:';
$str = ltrim($str, ':');
var_dump($str); //=> 'f:o:'
:::::
. Иногда это нежелательное поведение.
ltrim('prefixprefix_postfix', 'prefix')
результаты'_postfix';
substr()
Функция, вероятно , поможет вам здесь:
$str = substr($str, 1);
Строки индексируются, начиная с 0, и второй параметр этой функции принимает начало отсечения. Так что сделайте это 1, и первый символ исчезнет.
false
был возвращен. Таким образом, вам нужно проверить, равны ли они, если это не то поведение, которое вы хотите.
Используйте substr :
$str = substr($str, 1); // this is a applepie :)
Время выполнения для 3 ответов:
Удалить первую букву, заменив корпус
$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
сек
$str[0] = '';
решение, и оно не сработало. хорошо это делает , однако , если вы потом планируете использовать переменную, например , сравнивать >
или <
она не будет работать. Например, он по-прежнему считается `` as + `' $str = 'hello'; $str[0] = ''; var_dump($str); // string(5) 'ello'
var_dump($keyword)
показать предыдущую длину символа ... затем я попытался обрезать ключевое слово, а затем все заработало нормально var_dump(trim($keyword))
... Надеюсь, это кому-нибудь поможет ... :)
Вот код
$str = substr($str, 1);
echo $str;
Вывод:
this is a applepie :)
Чтобы удалить первый символ строки в PHP,
$string = "abcdef";
$new_string = substr($string, 1);
echo $new_string;
Generates: "bcdef"
$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'
Этот метод изменяет существующую строку, а не создает другую.
Вы можете использовать функцию sbstr ()
$amount = 1; //where $amount the the amount of string you want to delete starting from index 0
$str = substr($str, $amount);
Обрезает вхождения каждого слова в массиве из начала и конца строки + пробел и, возможно, дополнительные одиночные символы в соответствии с обычным 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 ,-(strlen($str)-1));
Может быть, помочь с ответами тоже.