Представление строк или как удалить конец строки?

[da_smag]

Новичок
Представление строк или как удалить конец строки?

Здравствуйте. Имеется строка вида:
PHP:
$str='test[]'
Нужно удалить (именно удалить, а не заменить) из неё "[]". Как это сделать максимально быстро?
Я подозревал, что можно это сделать примерно так:
PHP:
$srt[strlen($srt)-1]=$t;
$srt[strlen($srt)-2]=$t;
где в качестве $t пробовал \0, \r, '', NULL, но всё равно не получалось.. Побовал применить к последним 2м элементам функцию unset, но выдавало ошибку..
Пока остановился на варианте substr($str, 0, -2) , но как можно сделать быстрее? И как РНР представляет у себя в памяти строки?
 

[da_smag]

Новичок
Я извращенец, мне нравится себя мучать

По теме: ну вот понадобилось и всё тут.. А про представление строк - просто стало интересно, а в гугле и яндексе ничего хорошего не нашел
 

Вурдалак

Продвинутый новичок
Скачай и посмотри исходный код. Я не смотрел, но, думаю, достаточно просто: под каждое значение типа string есть текущий размер строки и указатель на область памяти. Оно, в принципе, везде одинакого реализовано (типа string в C++).
 

[da_smag]

Новичок
Да, такая идея меня тоже посещала =) Но я всё же решил спросить, что бы прочесть ответь в 3х строках, а не листать малознакомый и непонятный код =)
 

Фанат

oncle terrible
Команда форума
Сидят в одной камере садист и мазохист.
Мазохист ходит нервно по камере, потом кидается к садисту с криком:
- Ну давай уже, сделай мне больно!
Садист, складывая руки на груди:
- Помучайся, помучайся...
 

magiq

Новичок
используй регулярки, там есть понятие конца строки в шаблоне - $
 

zerkms

TDD infected
Команда форума
Но я всё же решил спросить, что бы прочесть ответь в 3х строках, а не листать малознакомый и непонятный код =)
если ты не в состоянии прочесть сорсы пхп - тогда тебе точно не нужно решать ту задачу, которую ты пытаешься решить.

-~{}~ 07.02.10 03:41:

Пока остановился на варианте substr($str, 0, -2) , но как можно сделать быстрее?
ps: попробовать rtrim?
 
Сверху