Как удалить 0 из строки - PullRequest
7 голосов
/ 02 апреля 2009

Я смотрю на функцию trim, но, к сожалению, она не удаляет "0", как мне добавить это к ней? Должен ли я использовать str_replace?

EDIT: Строка, которую я хотел изменить, была номером сообщения, которое выглядит следующим образом: 00023460

Функция ltrim("00023460", "0") делает именно то, что мне нужно :), очевидно, я бы не хотел использовать обычную trim, потому что она также удаляла бы окончание 0, но, поскольку я забыл добавить, что полученный ответ великолепен :)

Ответы [ 5 ]

16 голосов
/ 02 апреля 2009
$ php -r 'echo trim("0string0", "0") . "\n";'
string

Для числа с добавлением нуля в примере:

$ php -r 'echo ltrim("00023460", "0") . "\n";'
23460
2 голосов
/ 02 апреля 2009

Это должно было быть здесь с самого начала.

РЕДАКТИРОВАТЬ: строка, которую я хотел изменить был номер сообщения, который выглядит как это: 00023460

Лучшее решение, вероятно, это для любого целого числа меньше PHP_INT_MAX

$ number = (int) '00023460';

2 голосов
/ 02 апреля 2009

Функция обрезки удаляет только символы из начала и конца строки, поэтому вам, вероятно, нужно использовать str_replace.

Если вам нужно удалить только 0 из начала и конца строки, вы можете использовать следующее:

$str = '0000hello00';

$clean_string = trim($str, '0'); // 'hello'
1 голос
/ 02 апреля 2009

Конечно, это так (см. второй параметр $charlist):

trim('000foo0bar000', '0')  // 'foo0bar'
1 голос
/ 02 апреля 2009

Взгляните на str_replace

print str_replace( '0', '', "This0string0needs0spaces");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...