$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
було повернуто. Тож вам слід перевірити, чи вони рівні, якщо це не поведінка, яку ви хочете.
Використовуйте підряд :
$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] = '';
рішення, і воно не вийшло . добре, але це все-таки, якщо ви потім плануєте використовувати змінну, наприклад, для порівняння >
або <
вона не буде працювати. Наприклад, він як і раніше вважається "як +" $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);
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);
Обрізає походження кожного слова в масиві з початку та в кінці рядка + пробіл та, можливо, додаткові окремі символи відповідно до нормальної обрізки ()
<?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));
Можливо, теж дайте відповіді.